1

今では、MVP パターンを少し異なる方法で使用するのが好きなようです。ビューがモデルをまったく認識せず、プレゼンターがデータを「フィード」できるようにすることを好む人もいれば、ビューにモデルを与えてモデルを提供することを好む人もいます。ビューがそのデータをモデルから直接読み取れるようにします。個人的には後者の方が好きです。

MVP を読んでみると、すべての例が多かれ少なかれ 1 つのタイプのデータを操作する CRUD ビューに集中しているように見えます。ただし、現実の世界では、複数のデータソースで機能するビューがあります。たとえば、SystemSettings、WorkflowSettings、UserSettings など、さまざまなタイプのデータを操作する設定ビューがあるとします (UX について議論するのはやめましょう。これは単なる例のためです)。

最初の質問は、複数のデータ ソースで動作するビューの「モデル」をどのように定義するかということです。つまり、ビューにはさまざまな「モデル」(setSystemSettings()、setWorkflowSettings()、...)を設定するためのメソッドがありますか、それとも実際のドメインモデルをDTO内にラップし、単純なsetModel(settingsDto)メソッドを持っていますか?あなたの見解では?

4

1 に答える 1

0

私にとって、「モデル」は抽象的です。私は今、モデルを「プレゼンターが仕事を完了するために必要なもの」と見なしています。

したがって、あなたの例を考えると、私のアプローチは、モデルを RepositoryFactory として定義して、プレゼンターがデータを取得するために必要な適切なリポジトリを作成できるようにすることかもしれません。

これにより、単体テストも可能になります。

于 2013-08-27T08:18:32.293 に答える