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 を操作しません。