Eric不是神 DDD不是银弹:领域驱动设计的话术

27 阅读2分钟

这是前些天出的一道题:

图片

没有同学答对,总是答少了一两个。ABCD都是正确选项。

像A(大神)和C(彻底解决)明显是在夸的,比较容易理解,例如:

图片图片

但B(不是神)和D(不是银弹)为什么也是宣传话术呢?

我在《软件方法》第1章已经说过这个问题:

先念经“DDD是解决业务系统复杂性的方法学”,然后再把几个DDD造词吹一通,这一套复制粘贴的常规操作做下来,就已经占据不少篇幅了。

……

伪创新往往并不会直接说自己简单易行,而是会说自己很高深。宣传中往往带有“艺术”、“禅”、“道”等字眼, ……比起枯燥的数学理论和逻辑推理,这些东西可是太好下嘴了。

开发人员一开始以为很难很深奥,上手一学,发现其实不难!……立刻有捡到了便宜的感觉,心中豪气顿生——不愧是我!别整三岁的,有能耐你整四岁的!

伪创新还会声明“领域驱动设计不是银弹”之类,也是为了进一步塑造形象。我都诚实地说了我不是满分,所以我前面塑造的90分的形象应该是真的。

--摘自《软件方法》2025版第1章

“领域驱动设计不是银弹”后面,会跟着一个“但”:

图片

这个药不能让你长生不老,但可以让你的癌症治愈,妙不妙?

话术说,虽然不是银弹,但是……我们来看看“但是”后面说的对不对。

还是看《软件方法》第1章:

接下来开始举例了,但例子只有1-2个领域类,涉及的领域逻辑也极其简单(也许在DDD圈子看来已经够复杂),然后就开始大谈实体、值对象、仓储、上下文、聚合根、六边形架构……还会给出代码,代码一层又一层,颇为壮观。一点点领域逻辑,包出这么多饺子,难怪伪创新买家(开发人员)会大喊“受用”!

……

这是令人感到讽刺的。

既然以“领域驱动设计”为名,按道理应该是领域逻辑越复杂的系统越需要“领域驱动设计”,但领域驱动设计“大行其道”的地方却是面向大众的互联网公司,鼓吹者所举例子的领域逻辑也非常简单,从内容上看,鼓吹者也不像是掌握了面向对象建模方法。


“Eric Evan不是神”,我是最近在一个视频里面看到的。读者感兴趣可以自行去找。

我都谦虚说不是神了,那当个圣人该没问题吧?