【问题标题】:Which are common DDD (Domain-Driven Design) patterns?哪些是常见的 DDD(领域驱动设计)模式?
【发布时间】:2010-11-03 19:59:03
【问题描述】:

规范模式是 DDD 中使用的一种常见模式,它封装业务逻辑以响应一个问题。

public interface ISpecification<T>
{
    bool IsSatisfiedBy(T aSource);
}

public class CustomerHaveDiscountSpec : ISpecification<Customer>
{
   bool IsSatisfiedBy(Customer aCustomer)
   {
       /* ... */
   }
}

领域驱动设计中还有哪些常见的模式?

【问题讨论】:

    标签: oop design-patterns domain-driven-design


    【解决方案1】:

    我推荐 InfoQ 的 Domain Driven Design Quickly,它很好地提炼了 Eric Evans 的(太)长的书。基于@Pangea 的回答,对象列表值得描述:

    • 存储库:封装持久性和搜索 - 通常是数据库
    • 服务:用于聚合根 CRUD 的无状态 API 实体
    • 聚合根:一个实体,如果没有它,它的其他子复合实体就缺乏适当的意义 - 从 API 的角度来看,这可能是谈论 DDD 时最重要的方面
    • 值对象:实例化后状态不变的实体(例如颜色),在多线程编程中特别有用,因为使用这样可以消除并发问题

    【讨论】:

    • 八年过去了,还是太长了。 DDD 被谈论的远远超过了实现。它对 OO 纯度的渴望是崇高的,但不切实际。
    【解决方案2】:

    我不认为我们将其称为模式,但一些概念是存储库、聚合根、值对象、实体、域服务、应用程序服务。以下两个链接很有帮助

    http://dddcommunity.org/resources/ddd_terms

    https://dzone.com/refcardz/getting-started-domain-driven

    【讨论】:

      猜你喜欢
      • 2015-09-21
      • 2011-05-10
      • 1970-01-01
      • 1970-01-01
      • 2010-11-16
      • 2018-07-03
      • 2016-09-26
      • 2023-02-23
      • 1970-01-01
      相关资源
      最近更新 更多