MVP - Presenter应该有一个整体的模型还是多个模型?

4
我正在使用MVP架构一个C#项目。我之前有一个IModel接口,其中包含CRUD操作,但现在已将其拆分为多个Model接口(例如INotebookModel、ICategoryModel、IItemModel等),每个接口都包含CRUD操作。
是否最好有一个总体模型,其中包含委托给适当特定模型的CRUD方法(例如create(String type))或仅在Presenter中持有对每个特定模型的引用?
如果拥有多个模型是不好的方式,那么我如何传递适当的参数,以便可以创建/更新模型对象?因为每个对象都需要不同的信息。
1个回答

0

拥有不同的模型并不是一种不好的方式。

这肯定会使您的设计更加复杂,但肯定会增加您的应用程序的可维护性。如果您正在构建需要在未来升级中进行演进的应用程序,则将您的模型分成几个模型。这将帮助您以防您想要将不同的实体添加到您的应用程序中。

也许您的书籍将被分配给人员,然后您将添加一个IPersonModel接口,而其他三个接口(INotebookModel、ICategoryModel、IItemModel)将保持不变。

但是,如果您的应用程序很简单,并且您想要快速开发,只需将您的模型集中到一个大型模型中即可。但是要小心,如果您的应用程序变得越来越大,这个模型会变得越来越复杂,因为它将处理几乎所有应用程序的责任,您将不得不将其分解成许多其他模型。

因此,分离您的责任是SOLID原则之一。您可以进一步了解并查看此内容:http://en.wikipedia.org/wiki/SOLID_(object-oriented_design)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接