一佳一

记录像1+1一样简洁的代码

导航

DDD领域设计笔记

Posted on 2022-03-04 09:14  一佳一  阅读(46)  评论(0编辑  收藏  举报

DDD-1 ubiquitous language(领域通用语言)
DDD-2 分而治之,拆小单元 归并排序(两两一组对比)


POP 面向过程编程 线性思维 越来越复杂
OOP 面向对象编程
DDD -扩大边界 ,讲对象组成领域,程序分析设计更轻松
DDD的拆分不是类,是边界
领域专家(业务专家)

Domain Drivern Design (理解领域(业务)-》拆分领域=》拆分子域-》根据领域进行设计-》组装)
1.针对OOAD (Object Oriented Analysis Design)面向对象分析与设计的扩展和延伸
2.对技术架构进行分层规划
3.对每个类进行策略和类型的划分 --Entity DTO Repository
unitofwork CQRS 事件总线

领域就是问题域(业务概念),解决某个特定问题
一个问题可以拆分多个子问题--拆分子域

基于领域去设计
1.按照领域进行设计
2.每个领域进行组装

基于领域去驱动
1.领域驱动设计 不考虑技术
2.领域驱动代码 代码照着领域要求实现


DDD(理解,拆分,细化)
1.只做需求开发,不管技术
2.基于领域做程序相关设计
3.实现领域-》模块化组装(ABP vNext 模式)


细化子域步骤:

1.领域概念:统一概念(词汇)
2.业务规则:对象属性规则
3.业务场景:用户对应哪些场景
4.业务流程:业务需要哪些流程