MVCモデルを理解する


ユーザーインタフェースをもつアプリケーションソフトウェアを実装するためのデザインパターンです。
「Model」「View」「Controller」の3つの役割から構成されています。

処理の流れのイメージ

「View」 ⇄ 「Controller」 ⇄ 「Model」

Model(モデル)

ビジネスロジック部分です。
Controllerから呼び出され、DBへのアクセスを行います。
データの登録・更新やデータの検索を行い、データを加工し、
Controllerlにデータを渡します。

View(ビュー)

Modelで処理したデータをControllerを通じて受け取り、
ユーザーへ表示する画面を作成し出力します。

Controller(コントローラー)

Viewからのリクエストに応じてModelを呼び出します。
Viewから取得したデータをModelに渡したり、
Modelから取得したデータをViewに渡す橋渡し的な役割を担います。

MVCモデルのメリット

・3つの役割に分割することで、どのような処理をどの部分に書けば良いかわかりやすいです。
・ソースに修正が入る際に、影響範囲を狭く抑えることができます。
・画面部分の実装が得意な開発者とビジネスロジック部分の実装が得意な開発者で
作業分担が可能になり、開発効率が上がります。

よくある残念な状態

・Controllerから1つのモデル(ビジネスロジック)を呼び出し、
その中で色々な処理をやり過ぎた結果、1つの巨大なメソッドが出来上がる。