什么是领域驱动设计
英文:Domain Driven Design。
缩 写:DDD。
概念: DDD是一种以领域为核心的设计和开发理念。DDD通过维护一个深度反应领域概念的模型,以及提供了可行的经过实践检验的大量模式来应对领域的复杂性。
什么是领域
什么是驱动
什么是设计
为什么使用领域驱动设计
为了应对复杂性
为了应对快速变化
为什么能应对复杂性
为什么能应对快速变化
和其他设计方法比较
领域驱动设计重点
产品需求!=用户需求。
领域模型反映了需求的本质。
领域模型包含了领域的业务逻辑。
领域模型只考虑业务,与技术无关。
通用语言
平滑的实现为代码
模型与代码的依赖、模型的调整
领域模型是软件的核心
什么是领域模型
好了,休息一下
领域模型基本构造块
实体(Entity)
值对象(Value Object)
服务(Service)
聚合(Aggregate)
聚合根(Aggregate Root)
仓储(Repository)
工厂(Factory)
领域模型
实体 : 有业务生命周期,使用标识进行跟踪。
值对象 : 无业务生命周期,用来描述实体。
服务 : 无状态的行为类型,表示某种能力。
关系
万物皆有关系。
关系越多,耦合越大。
找出整个业务生命周期都依赖的关系,某些关系或许只在对象创建时刻有意义。
可以用标识间接表示关系。
尽可能的简化关系。
尽可能的避免双向关系。