TOP比較データ> MVCモデルの効果
徹底比較!! PHP & Java 〜 フレームワーク編
徹底比較!! PHP & Java 〜 フレームワーク編

第1回:Strutsはわかるけど、Mojaviってなんだ?
著者:ワイズノット  土橋 芳孝   2005/6/29
前のページ  1  2   3  4  次のページ
MVCモデルの効果

   MVCモデルとは設計の考え方を表したもので、もともとはSmalltalkによるグラフィカルユーザインターフェースの設計に用いられていました。現在では、Webアプリケーションフレームワークの多くにMVCモデルが採用され、成果をあげています。

   MVCモデルでは、M(Model)、V(View)、C(Controller)といった構成要素によってWebアプリケーションを実現します。このModel、View、Controllerには、それぞれ下記のような役割が与えられています。
Model
業務要件を満たすためのビジネスロジックを実装します。データの加工やデータベースとの連携、外部システムとの連携といった処理がModelの主な役割です。

View
HTMLなど画面を表示するためのコードを実装します。画面を生成・表示することがViewの主な役割です。

Controller
Webアプリケーション全体を制御することでModelとViewを連携させることがControllerの役割です。入力データの受け付けや検証、ビジネスロジックの呼び出し、画面遷移の制御などControllerの役割は多岐に渡ります。

   MVCモデルによってWebアプリケーションにおける各構成要素の機能が明確となり、機能の独立性が高まります。機能の独立性が高まることで設計や実装を変更する際の影響範囲を最小限に抑えることができるとともに、SE、プログラマ、デザイナーなど、各プロジェクトメンバーの分業を促進することが可能となり、生産性を向上させることができます。

   今回ご紹介するStrutsMojaviをはじめとして、多くのWebアプリケーションフレームワークにMVCモデルが採用されており、MVCモデルの効果は既に実証されています。以下にMVCモデルの処理フローを紹介します。

MVCモデルの処理フロー
図1:MVCモデルの処理フロー

  1. ユーザが画面に値を入力し、ボタンを押下する
  2. 制御部は画面から入力された値を受け取って検証する。画面から受け取った値が不適切であれば画面に入力エラーを表示する
  3. 画面から受け取った値が適切であれば、制御部は画面から受け取った値をビジネスロジックへ引き渡す
  4. ビジネスロジックは制御部から受け取った値を加工しながら、データベースや外部システムと連携した処理を実施する
  5. 制御部はビジネスロジックの処理結果を受け取る
  6. 制御部はビジネスロジックの処理結果に応じた画面を表示する
前のページ  1  2   3  4  次のページ


ワイズノット
著者プロフィール
株式会社ワイズノット  土橋 芳孝
以前はJavaを利用したWebアプリケーション開発とオブジェクト指向設計を得意としていたが、ワイズノットに入社以来、PHPの魅力にとりつかれる。現在はワイズノットのプロジェクトマネージャーとして、PHPをはじめとしたオープンソースの普及に力を注いでいる。


INDEX
第1回:Strutsはわかるけど、Mojaviってなんだ?
  いまや企業システムの開発にフレームワークは必須
MVCモデルの効果
  Strutsとは?
  Mojaviとは?