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