您认为应该在模型层中出现什么?只有DAO和DAO助手?还有什么可以存在?记录器?什么?
我正在设计我的第一个应用程序,昨天我有一个可以使用的模型助手类,但我不知道应该把它放在哪里。
这是一个Data Fetcher和formatter类,适用于我的应用程序的某些类型。
干杯。
答案 0 :(得分:4)
只有包含接口和公共基类的模型类(DAO)才能进入模型层。
Logger是另一个功能,因为它也被其他层/层使用,我将它放在某种“框架”层,这是一个收集所有那些无法分配给一个特定的辅助类的层层
维基百科告诉我们,MVC模式“从用户界面”(输入和呈现)“隔离'域逻辑'(用户的应用程序逻辑)”。在这种情况下,对于仅具有三层的纯MVC实现,所有域逻辑(DAO,业务逻辑,甚至持久性逻辑)都必须进入模型层。
但对我来说,这是不限制这三个层的结构并根据需要添加持久层,框架层和业务服务层的原因。 MVC层是整个建筑层系统中的某种“子系统”。
答案 1 :(得分:2)
Model:
The model manages the behavior and data of the application domain, responds to requests for information about its state (usually from the view), and responds to instructions to change state (usually from the controller).
In event-driven systems, the model notifies observers (usually views) when the information changes so that they can react.
因此,如果我们遵循此classic statement,那么当然所有数据访问对象和接口( Facade )应该只是模型层的一部分。< / p>
答案 2 :(得分:1)
在模型中应该是所有数据,因为它应该在视图中显示。视图只是一个表示层,不应该做任何逻辑(是的,我知道,我在视图中也做了一些foreach循环)。
因此,我的结论是,在模型中,您可以翻译数据(这可以是DAO),您可以在视图中输出数据。对我来说,这也可以是仅存在于模型内部的新对象。