#そもそも何ってことから振り返ってみます!
MVCとは、モデル(Model)・ビュー(View)・コントローラー(Controller)の頭文字をとったもです。で、それ自体は何かと問われると、【Webフレームワークで一般的に取り入れられるアプリケーション設定を整理するための概念の一つ】とある記事で書かれていましたが、要は、railsなどのアプリケーションの処理を行うシステムの構造のことを言うと覚えておけば良いのかと思います。
#では、なんでそれを使用するのかを調べました。
MVCの概念がない場合、あるプログラムを書いたディレクトリをどこで対応しているかなどがわからなくなります。そのディレクトリで記述したコードの破綻等が起き不具合やバグの原因にも繋がります。そのため、役割ごとに意味のある単位で機能を実装すると管理しやすくなるので、MVCに分割して実装することでそれらを防ぎ円滑にアプリケーションを構築できるので便利であると言う理由から使用されたとのことです。
要は、それらを機能している箱に、コードを書くだけでアプリケーションが動きますよ的なことだと認識してます😄
#【MVC】のそれぞれの役割を調べていきます!
まずは、MVCの M から見ていきます!
Mとは、モデルのことを指します。
モデルは何の機能をもったところかと言うと、データベースとデータのやり取りを行う機能を実装したり、データベースからデータをプログラムで扱いやすい形式でデータを変換する役割を担っています。
データベースに、新規のデータを入れたい時や、データの更新を行いたい時、削除したい時などに機能の実装を行う箇所です。
次にMVCの V を見ていきます!
Vとは、ビューのことを指します。
ビューは、データを文字上でレスポンスを行う機能をいい、HTMLを動的に生成する部分です。
要は、リクエストされた情報を、HTMLなどを利用し、可視化してコントローラーに渡す役割を持った箇所を指します。
※HTMLとは、webページ上で表示されている文字などを表示させるマークアップ言語です。
ラストにMVCの C を見ていきます!
Cとは、コントローラーを指します。
コントローラーは、ルーティングから来たリクエストをモデルを介して情報の取得及び保存を行いビューからもらった(見た目が整った)ものをレスポンスとしてクライアントに返す役割を持った箇所です。
要は、モデルとの橋渡し・ビュートの橋渡し・クライアントの橋渡しの部分がコントローラーに当たります。
※ルーティングとは、クライアントからくる情報をコントローラに道筋を決めて渡す箇所を言います。
これを画像にするとこうです(鬼の手書きなのでわかりにくいと思います🙇♂️)↓
#まとめ
MVCの概念はアプリケーションを作る上では必須と言っても過言ではないもので、それらを理解するとスムーズにアプリケーションを作成することができるものだと言った認識でいます!