讲解领域驱动设计的概念,实现方法。DDD领域驱动设计是目前企业应用设计的最佳方法,经过10多年体系知识的不断完善和编程语言的改进适配,如今已经可以很有效的指导复杂的企业应用的设计开发过程。 本课程同时对CQRS(命令查询职责分离模式),DCI(数据Data 场景Context 交互Interactions)等相关知识进行讲述。
时间2~3天。
DDD Overview
- DDD基本介绍,Ubiquitous Language通用语言的重要性
- Domain, Subdomain和Bounded Context(上下文边界)。领域是核心概念,上下文边界的定义是软件设计的重点所在。
- Context Mapping(上下文映射),领域建模后,需要把相关概念映射到编程实现语言中。
- 架构设计,观察设计方法如层的划分,依赖注入,SOA等
DDD concept
- Entity实体,是领域模型的核心概念
- Value Object值对象
- Aggregates聚合,多个实体和值对象组合,聚合根是软件设计的关键点
- Domain Service,领域服务,对实体对象的逻辑处理
- Module模块,应用分解为若干模块
- Factory工厂类,对象的创造者
- Repository仓库,数据存放场所,数据库是主要方式
Domain Events
- Event事件,系统内部的解耦方式
- EventStore,事件存储,可以进行回滚和重放
- Message & Event,消息和事件的区别和适用场景
CQRS & DCI
- (Command and Query Responsibility Segregation)命令查询职责分离
- 当前主流编程语言对DDD实现能力的分析
- DCI(数据Data 场景Context 交互Interactions)知识讲述
- 分析Java语言的DCI实现