DDD设计与实践
2021-07-18 07:39:28 0 举报
AI智能生成
DDD在微服务领域的思想和实践
作者其他创作
大纲/内容
软件的本质
真实世界的模拟
由客观世界决定
解决软件变更带来的复杂性
简单软件有简单软件的设计,复杂软件有复杂软件的设计
软件退化的根源
需求逐渐复杂,但架构和代码结构却未进行调整和进化,从而导致软件退化
战略编程
OPC(开闭)
两顶帽子
在不添加新功能的前提下,重构代码,调整原有程序结构,以适应新功能
实现新的功能
DDD
领域建模<br>
数据库设计
一对一
一对多
多对一
多对多
继承泛化
宽表
冗余多表
子表
程序设计
充血模型
值对象
实体
服务
聚合根
仓库
工厂
问题子域
业务领域知识
限界上下文
贫血模型
建模过程
事件风暴
梳理领域事件
分析围绕领域事件发生的命令,人和事,以及时间
分析领域模型中的聚合与聚合根
最后站在全局对整个系统进行模块的划分,划分为多个限界上下文,并在各个限界上下文之间,定义它们的接口,规划上下文地图
按照限界上下文进行微服务的拆分,按照上下文地图定义各微服务之间的接口与调用关系
在此基础上,通过限界上下文的划分,将领域模型划分到多个问题子域,每个子域都有一个领域模型的设计,这样,按照各子域的领域模型,基于充血模型与贫血模型设计各个微服务的业务领域层,即各自的 Service、Entity 与 Value Object
再以领域模型指导对应的数据库设计<br>
0 条评论
下一页