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で標準化されている
|