DDD
1.是什么
是一个方法论,用于指导软件架构。
2.目的
利用DDD的方法论,我们希望达到以下目标:
1.大的问题分解,明确核心问题域,我们主要的精力的资源投入
核心域与支撑域战略层面的指导方法,能将我们现实中遇到的实际业务问题分解,并且能够从资源的分配上将主要精力放在核心域建设上。
2.沉淀可复用业务领域知识
以领域为核心,分析及抽象出核心业务流程及业务对象,定义业务问题。以此沉淀领域模型,进行复用。
3.统一语言
在一个业务中,抽象定义领域实体,大家讨论的业务实体都统一一个术语,增加沟通效率,减少歧义。
4.架构分层指导
典型的是六边型架构,以领域层为核心,外部如不同的请求服务来源(http,dubbo)都是不同的适配器,然后请求到流程编排层,最终到领域层。
所有业务领域知识都在领域层。
存储及具体实际都是适配器。
5.收敛领域知识,方便后续维护
以聚合根为代表,所以一个子域的操作都收敛在聚合根,方便后续的维护。
所有领域知识都聚在实体上。