Bootstrap

02.DDD实践路径

学习视频来源:DDD独家秘籍视频合集 https://space.bilibili.com/24690212/channel/collectiondetail?sid=1940048&ctype=0


在这里插入图片描述

实践路径

1.实现模型

会使用六边形架构和CQRS实现出领域模块,会仓储模式。必须要先知道怎么把模型变成代码,才可能去做模型的设计。DDD就是为程序员设计的,给程序员用的。要知道程序员怎么把模型实现,模型才有意义。否则模型不能落地,前面模型设计是没有意义的。
要想将模型落地,最重要的是掌握六边形架构和CRRS。现在再用DDD做模型设计,不要再用分层架构了,已经淘汰了。现在就是用一个独立核心的领域模块,这个模块不会依赖任何其他的具体实现,只用于描述模型本身
CQRS也很重要,涉及到复杂查询的,不采用CQRS,模型设计就会卡壳,模型处理复杂查询的时候会很麻烦,有些数据不知道往哪放,复杂查询会担心出现性能问题。这些问题不属于领域要管的事情的,使用CQRS可以将其排除在外,大大简化做领域模型设计的难度。

2.战术建模

当掌握了仓储模式,深刻领悟了六边形架构和CQRS,就可以做一些战术建模了。推荐的建模方法事件风暴和面向对象的设计方法。学过这个方法之后,就能从一些简单问题中,掌握聚合。聚合是模型落地最关键最核心的部分。
在战术建模的时候,不要扣书上的一些概念,仓储、实体、值对象等等,拿一些概念往上去靠,这样是很难建模的。这些东西是建模产出的结果,并不是设计的起点。直接用事件风暴、面向对象设计建模的方法论设计模型。等掌握了战术建模,就掌握了领域驱动设计了,能用领域驱动设计解决绝大部分的业务问题了。

3.战略建模

如果职业生涯有机会,可以去实践战略建模。战略建模所处理的问题更加庞大,到这个时候再谈核心子领域、支撑域等。因为如果规模很小,没办法谈这些。当然职业生涯可能都到不了战略建模级别,就算到了这个级别,也不见得可以用领域驱动设计,因为很多是遗留项目。到了战略建模这一步,就已经是领域驱动设计的专家了。

4.协作

帮助兄弟团队理解DDD,形成统一的语言,让DDD和敏捷开发、架构治理、稳定性结合,融会贯通。这些不是DDD要解决,但可以相互结合,有参考意义。

在这个路径里边,最重要的就是前两步。一定要先从实现模型来入手,而不是一上来就谈那些概念。

;