蓝盟IT外包
什么是DDD
领域驱动设施修订最初是由Eric Evans提倡,但多年来仍停留在理念阶段,真正能够实现落地的项目和公司很少,进入蚂蚁内部实际推进DDD理念,主要解决传统的单体式集中结构无法迅速应对业务需求落地的问题,中台和微沙
DDD为我们提供了体系结构设置修订的方法论,从业务的角度把握面向技术和业务的设置修订方案。
统一思想:统一对项目各方面业务、产品、开发问题的认识,不是开发与产品的统一,而是业务与产品的统一,意见分歧。
明确的分工:领域模型需要明确定义以解决各个方面的问题,对这些问题形成了团队的理解。
反映变化:需求在不断变化,所以我们的模式也在不断变化。 领域模型真实地反映了这些变化。
边界分离:将区域模型与数据模型分离,在区域模型中定义哪些需求在哪里实现,保持结构清晰。
DDD概念
实体
是唯一具有标志的核心域对象,该标志在软件的整个生命周期中保持不变。 此概念与我们平时以软件模型与数据库进行交互的Model实例很接近,唯一的不同在于,在DDD中这些实体包含与该实体关联的业务逻辑,操作行为的载体

值对象
依赖于实体存在且由对象属性标识的对象,将相关实体属性的一部分集中处理以形成新对象。
栗子:例如,用户实体包含用户名、密码、年龄、地址,地址包含省市区町村等属性,将省市区町村这一属性组合为一个属性集合就是值对象。
聚合
实体和值的对象表示个人的能力,但我们的业务逻辑很复杂,不能依赖于个人。 在这种情况下,多个实体和值的对象必须协同工作。 这个联合的组织是集约的。 聚合是数据修改和永久化的基本单位,为了确保同一聚合内的事务一致性,进行了最小化聚合设置修改,以确保效率和性能。
聚合根
也称为根实体,是聚合的管理员,表示聚合的入口,是一种特殊的实体,抓住聚合根可以抓住整个聚合。
网域服务
某些区域的操作是动词,不能简单地归类为实体或值对象。 这样的行为被领域认识后,必须将其宣告为服务,其作用只是为领域提供适当的功能。