2012-03-29 18 views
3

MVPパターンでPresenterとモデルの役割が100%確実ではありません。私が理解していることから、Presenterはモデルとビューの両方への参照を保持し、それらを観察し、モデルの変更をビューに、またはその逆に伝えます。MVP:Presenterの役割に関する質問

しかし、プレゼンターは「すべて」ですか?たとえば、ユーザー入力の検証コードがPresenterにある必要がありますか?

そして、ダイアログの問題があります。これらには独自のプレゼンターが必要ですか、またはそれらのウィンドウのプレゼンターを使用する必要がありますか?

+0

関連の役に立てば幸い:http://stackoverflow.com/questions/217752/in-mvp-where-to-write-validations –

答えて

3

修正、プレゼンターはビューとモデルの両方への参照を保持し、それらを作成し、それらの間の媒介を担っている(使用される特定のパターンに依存する程度いる)

プレゼンターはUIのビジネスを含ん保存ボタンを

  • UIは保存が
  • プレゼンターは、モデルを保存し必要だと言ってプレゼンターを合図クリックする例として、ロジック、。

MVPトライアドのモデル責任は、このビューの情報を保持するだけです。この目的のために特別なクラスであるか、ドメインモデルのクラスである可能性があります。

検証は、状況によって異なります。簡単なアプリケーションではプレゼンターが正しい場所になるかもしれませんが、これはコードの重複につながります。ドメインモデルはより中心的な場所ですが、プレゼンター/ビューとの会話をより多くの配管で行うことができます。