【问题标题】:MVC pattern + DDD patternMVC 模式 + DDD 模式
【发布时间】:2009-03-09 00:23:26
【问题描述】:

在 MVC 应用程序中,DDD 是如何实现的。什么是域对象?如果我将实体映射到自定义对象,那么这个映射逻辑在哪里,在存储库的方法中还是在服务层中?

【问题讨论】:

  • DDD 不是模式,而是一种思维方式。阅读 Eric Evans 的书。

标签: asp.net-mvc model-view-controller domain-driven-design


【解决方案1】:

http://nathan.whiteboard-it.com/archive/2009/03/01/asp.net-mvc-domain-driven-design.aspx 上有一个很棒的新系列文章,实际上是从一开始就描述了如何设计一个考虑到 DDD 的应用程序。

【讨论】:

    【解决方案2】:

    看看S#arpArchitecture。这是同时开始使用 MVC 和 DDD 的一种非常好的方式。域对象(模型)存储在与控制器和演示不同的项目中。它有一个非常漂亮的安装和解决方案模板以及很棒的文档。

    它充分利用了作为 DDD 核心一部分的存储库模式。它还采用了几种现代“最佳实践”。

    【讨论】:

      【解决方案3】:

      在 MVC 应用程序中,所有特定于领域的逻辑都应该放在 MVC 的 M 中,即你的模型中。

      【讨论】:

        【解决方案4】:

        为了回答所有这些问题,将会有大量的学习进化。

        我会从 ASP.NET MVC Storefront Starter Kit 开始,它使用 TDD 而不是 DDD,但它是一个很好的起点。如果您真的对 DDD 感兴趣,我建议您阅读 Eric Evans Book,它被大多数人视为 DDD 圣经。 Ayende Rahien 还写了一本名为 Building Domain Specific LanguagesBOO 的书,这也可能对 DDD 有所了解。

        【讨论】:

        • TDD 与 DDD 是什么意思?它们不是相反的东西。但也许我理解错了。
        • 我只是想表达 StoreFront 系列将提供很多模式,但大部分是使用 TDD 构建的。
        • 我做了一个编辑——我并没有试图从一个非常广泛的设计角度比较这两个想法
        猜你喜欢
        • 2013-08-13
        • 1970-01-01
        • 1970-01-01
        • 2018-07-21
        • 1970-01-01
        • 2011-02-25
        • 2017-08-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多