MVCについて
技術質問対策の一環として、技術用語に関して簡潔にまとめてアウトプットしていきます。
今回は「MVCの仕組み」について。
MVCとは、プログラミング手法のアプローチの一種。
モデル(M)、ビュー(V)、コントローラ(C)の頭文字を取ったもので、Webアプリケーションを動かすために必要な処理を3つの役割に分割して実装する手法です。
MVCの処理の流れとしては、
まずControllerがクライアントからのリクエスト情報を基にModelに処理を依頼し、
Modelはデータと連携して処理を行い、処理結果をControllerに返し、
Controllerは返ってきた処理結果データをViewに渡し、
Viewはデータを基にHTML出力処理を行う、という感じになります。
「M」はModelの略で、処理のメインロジックやデータアクセスを担当する部分です。Webアプリケーションにおけるビジネスロジック(データベースから取得してきた値を加工するメソッドや、レコード検索の条件が書かれたメソッド、データを保存する前に加工するメソッドなど)を定義します。
「V」はViewの略で、処理結果として画面表示(HTML出力)を担当する部分です。
「C」はControllerの略で、クライアントからのリクエストを直接受け取って処理を行う部分です。ModelやViewを「制御」する役割があります。クライアントからのリクエストに対して適切なレスポンスを返すことや、そのレスポンスに必要なデータの用意を行います。
MVCの利点としては、Webアプリケーションを動かすために必要な処理の一部を分類し分けることで、保守性、可読性の高いコードを維持できることが挙げられます。