Domain Driven Design 领域驱动设计

1 引例

常见的应用程序分为presentation、application和infrastructure三层。
在这里插入图片描述
application会很容变得臃肿庞大。
对infrastructure的依赖也很高,如果基础能力想要进行一些升级操作也是比较困难的。 比如说数据库升级是比较困难的。

对上面的三层架构进行改进。
在这里插入图片描述

2 DDD的模块划分

在这里插入图片描述

3 DDD的一些概念

Entity:有id、有生命周期的实体。 比如order、转账关系。
valueObject: 没有id和生命周期的一些实体。 比如地址信息。
Aggregate:特殊的entity。拥有超级权利的entity,管理entity。Aggregate这一层需要保证内部entity的数据一致性的。理想情况下,Aggregate应该是一个微服务。

4 参考材料

[1] https://www.bilibili.com/video/BV1YY4y1K7S8/?spm_id_from=autoNext&vd_source=f4dcb991bbc4da0932ef216329aefb60

猜你喜欢

转载自blog.csdn.net/kaikai_sk/article/details/127479597