【发布时间】:2009-03-09 00:23:26
【问题描述】:
在 MVC 应用程序中,DDD 是如何实现的。什么是域对象?如果我将实体映射到自定义对象,那么这个映射逻辑在哪里,在存储库的方法中还是在服务层中?
【问题讨论】:
-
DDD 不是模式,而是一种思维方式。阅读 Eric Evans 的书。
标签: asp.net-mvc model-view-controller domain-driven-design
在 MVC 应用程序中,DDD 是如何实现的。什么是域对象?如果我将实体映射到自定义对象,那么这个映射逻辑在哪里,在存储库的方法中还是在服务层中?
【问题讨论】:
标签: asp.net-mvc model-view-controller domain-driven-design
http://nathan.whiteboard-it.com/archive/2009/03/01/asp.net-mvc-domain-driven-design.aspx 上有一个很棒的新系列文章,实际上是从一开始就描述了如何设计一个考虑到 DDD 的应用程序。
【讨论】:
看看S#arpArchitecture。这是同时开始使用 MVC 和 DDD 的一种非常好的方式。域对象(模型)存储在与控制器和演示不同的项目中。它有一个非常漂亮的安装和解决方案模板以及很棒的文档。
它充分利用了作为 DDD 核心一部分的存储库模式。它还采用了几种现代“最佳实践”。
【讨论】:
在 MVC 应用程序中,所有特定于领域的逻辑都应该放在 MVC 的 M 中,即你的模型中。
【讨论】:
为了回答所有这些问题,将会有大量的学习进化。
我会从 ASP.NET MVC Storefront Starter Kit 开始,它使用 TDD 而不是 DDD,但它是一个很好的起点。如果您真的对 DDD 感兴趣,我建议您阅读 Eric Evans Book,它被大多数人视为 DDD 圣经。 Ayende Rahien 还写了一本名为 Building Domain Specific Languages 和 BOO 的书,这也可能对 DDD 有所了解。
【讨论】: