我正在使用 Zend 框架的完整 MVC 功能编写一个 Web 应用程序,其中包括一个服务层、域模型和映射器。我认为我对图层的理解是正确的,但想确认一下。
上层依赖于下层,所以从顶部开始:
控制器 - 最顶层。高度依赖于它实例化、填充和呈现的视图。依赖于服务来访问模型。
查看 - 不知道控制器。有时依赖于服务或模型,例如为选择控件填充查找列表。
服务 - 向客户端提供 API,例如控制器。高度依赖模型。事实上,服务经常在模型的映射器部分和域部分之间进行调解,以便为客户完成工作。
映射器(模型,A 部分)- 对领域有深入的了解,可以操作领域对象以适应关系数据存储,并操作关系数据以创建新的领域对象。
域模型(模型,B 部分)- 包含域逻辑。域对象不知道其他层,但是由于它们需要访问其他域对象,它们可以将映射器作为“对象查找器”访问。
那个听起来是对的吗?我错过了什么?