====== MVC ====== 開発者が知っておくべき、6つのUIアーキテクチャ・パターン http://www.atmarkit.co.jp/fdotnet/chushin/greatblogentry_10/greatblogentry_10_01.html MVP (Model View Presenter)パターン MVP (Model View Presenter) パターンは、MVC (Model View Controller) パターンの亜種です。 大きな違いとして、MVC パターンでは Controller がユーザーからの入力イベントを受け取りますが、MVP パターンでは View がユーザーからの入力イベントを受け取り、処理を Presenter に委譲します。 [Model] Model は、ドメインモデルを表します。 ドメインとは、業務固有の問題領域のことです。 Model → View Model は、View に依存しません。 Model → Presenter Model は、Presenter に依存しません。 [View] View は、Presenter の要求インターフェイスを実装し、ユーザーインターフェイスを直接操作します。 View は、極力無能にします。そのためには、UI コントロールとの直接的なやり取り以外をできるだけ行わないようにします。 View → Presenter View は、Presenter に自分自身を関連付けます。 View は、ユーザーからの入力イベントを受け取り、処理を Presenter に委譲します。 View は、上記以外の目的で Presenter を操作しません。 View → Model View は、Presenter から Model を受け取って出力することができます。 View は、Model を生成しません。 View は、出力に必要な操作以外で、Model を操作しません。