针对贫血模型和充血模型,DDD倾向于充血模型(领域对象既包含数据也包含逻辑),针对DDD的要求模型与实现一致,因此如果在实现的过程中发现模型的问题,需要及时修改模型,以确保两者的一致性,其实这一点有点类似于文档和代码一致的问题,现状是文档和实现差距比较大,这是一个很明显的问题,在DDD中明确的提出了要求来确保模型和实现的一致性。
代码实现中有几种常用的模式:
1)工厂模式
用于创建复杂的领域对象,对象的复杂性体现在a)对象本身的复杂性b)构造对象的复杂性
2)仓储模式
用于解决内存对象和数据库对象不一致问题
3)领域服务模式
用于实现跨多个领域对象的逻辑
针对编写高质量的代码,主要也是利用面向对象的一些思想和方法来实现,利用继承来提升代码的复用性,利用封装性的要求来设计API以及领域对象的属性等
此文章为2月Day9学习笔记,内容来源于极客时间《手把手教你落地 DDD》