4

MVP を使用して C# でプロジェクトを構成しています。以前は CRUD 操作を含む IModel インターフェイスを持っていましたが、それをそれぞれ CRUD 操作を含むいくつかのモデル インターフェイス (INotebookModel、ICategoryModel、IItemModel など) に分割しました。

適切な特定のモデル (create(String type) など) に委譲する CRUD メソッドを持つ全体的なモデルを持つか、プレゼンター内の特定の各モデルへの参照を保持するだけの方がよいでしょうか?

複数のモデルを持つことが悪い方法である場合、モデル オブジェクトを作成/更新できるように適切なパラメーターを渡すにはどうすればよいですか? 各オブジェクトには異なる情報が必要です。

4

1 に答える 1

0

異なるモデルを持つことは、それを行うための悪い方法ではありません。

これにより、設計がより複雑になることは間違いありませんが、アプリの保守性は確実に向上します。将来のアップグレードで進化する必要があるアプリを構築している場合は、モデルをいくつかのモデルに分けてください。これは、別のエンティティをアプリに追加する場合に役立ちます。

書籍が個人に割り当てられる場合は、IPersonModel インターフェイスを追加し、他の 3 つのインターフェイス (INotebookModel、ICategoryModel、IItemModel) はそのまま残ります。

ただし、アプリケーションが単純で、迅速な開発を優先したい場合は、モデルを 1 つの大きなモデルに集中させてください。ただし、アプリが大きくなると、このモデルはますます複雑になり、アプリのほぼすべての責任を処理し、それを多数の責任に分解する必要があることに注意してください。

ですから、責任を分離してください。それは SOLID の 1 つです。さらに進んで、これを見ることができます: http://en.wikipedia.org/wiki/SOLID_(object-directional_design)

于 2014-10-14T11:38:18.900 に答える