0-n-0

MVCとは

  • Model-View-Controller(エムブイシー)
  • ソフトウェアの設計モデルの一つで、処理の中核を担う「Model」、表示・出力を司る「View」、入力を受け取ってその内容に応じてViewとModelを制御する「Controller」の3要素の組み合わせでシステムを実装する方式。
  • Smalltalkでのグラフィカルインターフェース設計に用いられた概念で、最近ではJ2EEなど、エンタープライズシステムの開発などに応用される方法論である。

MVC : 3階層 C/S

分離すると設計がしやすい

  • View(www)層
  • Controller(AP)層
  • Model (DB)層

Model (モデル)

  • データ管理だけを専門に行うのがモデルの仕事
  • システムの中でビジネスロジックを担当する、いわばシステムの本体部分にあたる。モデルは入出力や表示といった処理を行う事は出来ない。J2EEでは、この部分をEJBで実装する)ちなみに、EJBでは表示に関する処理は仕様上できない)ことになっている

View(ビュー)

  • いつ、どこにどのくらいの大きさで、どのように表示されるのか、を知っている。表示(出力)まわりを一手に引き受けるオブジェクト
  • ビューは表示、入出力といった部部を担当。J2EEではその部分をServletやJSPや実装する。一般的なHTML表示に関してはJSPその他の特殊なデータ(バイナリデータ)を出力する場合はServletを用いるのが標準的な使い方

Controller (コントローラー)

  • モデルやビューを操作する為のユーザーからの要求を受け付ける。そしてモデルやビューにメッセージを送り、全体の動きを制御する。指示(入力)まわりを行うオブジェクトと考える事が出来る。
  • コントローラーはViewとModelを制御する。自分自身では表示を行ったり、ロジックの実行には行わず、Viewからの入力に応じて必要なロジックの実行をModelに依頼し、その結果表示をViewに依頼する。J2EEではControllerはWeb層とEJB層の2つに分かれている。まずWeb層でViewからの入力を受け付けてWebに依存しない形に変換する。そしてその情報緒をEJB層に送信する。EJB層では送信された内容に応じて必要なロジックが実装されたModel(EJB)に処理を依頼する。依頼結果は再びEJB層からWeb層へ、フィードバックされ、Web層がView(JSP)に表示処理を依頼し、クライアントへ結果が送信される

J2EE

  • サーバ向け Java仕様。Webページの生成からサーバ側アプリケーションのソフト部分化、トランザクション管理やセキュリティーにいたる企業システムに必要な仕組みの多くがJ2EEで標準化されている

Last-modified: 2012-03-12 (月) 17:05:06 (166d)