OUT了!搞了10年开发你还不知道DDD开发理念?

IT知识
367
0
0
2022-07-28

什么是领域驱动设计

英文:Domain Driven Design。

缩 写:DDD。

概念: DDD是一种以领域为核心的设计和开发理念。DDD通过维护一个深度反应领域概念的模型,以及提供了可行的经过实践检验的大量模式来应对领域的复杂性。

OUT了!搞了10年开发你还不知道DDD开发理念?

什么是领域

OUT了!搞了10年开发你还不知道DDD开发理念?

什么是驱动

OUT了!搞了10年开发你还不知道DDD开发理念?

什么是设计

OUT了!搞了10年开发你还不知道DDD开发理念?

为什么使用领域驱动设计

为了应对复杂性

为了应对快速变化


为什么能应对复杂性

OUT了!搞了10年开发你还不知道DDD开发理念?

为什么能应对快速变化

OUT了!搞了10年开发你还不知道DDD开发理念?

和其他设计方法比较

OUT了!搞了10年开发你还不知道DDD开发理念?

领域驱动设计重点

产品需求!=用户需求。

领域模型反映了需求的本质。

领域模型包含了领域的业务逻辑。

领域模型只考虑业务,与技术无关。

通用语言

平滑的实现为代码

模型与代码的依赖、模型的调整

领域模型是软件的核心


什么是领域模型

OUT了!搞了10年开发你还不知道DDD开发理念?

好了,休息一下

领域模型基本构造块

实体(Entity)

值对象(Value Object)

服务(Service)

聚合(Aggregate)

聚合根(Aggregate Root)

仓储(Repository)

工厂(Factory)

领域模型

实体 : 有业务生命周期,使用标识进行跟踪。

值对象 : 无业务生命周期,用来描述实体。

服务 : 无状态的行为类型,表示某种能力。

关系

万物皆有关系。

关系越多,耦合越大。

找出整个业务生命周期都依赖的关系,某些关系或许只在对象创建时刻有意义。

可以用标识间接表示关系。

尽可能的简化关系。

尽可能的避免双向关系。