【发布时间】:2012-01-19 17:42:37
【问题描述】:
这基本上是在问与How to handle views in a multilayer-application 相同的问题。但是,该帖子没有收到太多反馈。
问题出在这里:我们构建了一个具有以下层的 3 层 Web 应用程序:
-数据访问(使用存储库)
-服务
-UI (MVC 3)
DTO 在 UI(控制器)层和服务层之间传递。包含大量域级逻辑的较重域模型在服务层和数据访问层之间传递。一切都使用 IOC 解耦,应用遵循 SOLID 原则(或也尝试过)——一个快乐的解耦大家庭!
目前DTO->Domain Model和Domain Model->DTO转换都发生在服务层。
所以,最后我的问题:
我们将需要开始显示更复杂的只读信息子集(即汇总视图连接多个实体进行汇总等)。那么在 n 层系统中表示这种类型的只读数据的最佳实践是什么?在这种情况下,必须将只读域模型类型映射到 DTO 类型对我来说没有意义。在大多数情况下,无论如何,这两种类型之间没有区别。我的想法是“打破”这些只读类型的分层边界,让数据访问层直接为 DTO 提供服务,并将它们传递到服务层和 UI。
谁能指出我正确的方向?
非常感谢!
【问题讨论】:
标签: views soa dto n-tier-architecture