相关链接
汪峰哭晕在厕所-《实现领域驱动设计》中译本评点-第2章(1)
上一篇文章《可不是乱打的》说到,《实现领域驱动设计》中译本第二章正文刚进入第一句,译者就把意思译反了。
修正译文
广义上,一个领域指一个组织所做的事情以及做事时所处的世界。
不只是译文译反了,原文的“领域”定义也是错误的。
(1)“领域”指“组织所做的事情”?
原文说领域是“一个组织所做的事情以及做事时所处的世界”,听起来像下面这个:
这是个业务用例图啊!
业务用例是一个很大的价值,例如,波音公司“造飞机”。
“造飞机”可是一个高度综合性的事情,涉及众多学科的知识,自然科学的流体力学、热力学、航空工程、机械工程、材料工程、电子工程、控制工程、计算机科学……,非自然科学的经济学、管理学、人类学、心理学……
说“造飞机”是一个“领域”,这个“领域”是不是太大了?
哦,可以把“造飞机”看作大的“领域”,把流体力学、热力学、航空工程、机械工程、材料工程、电子工程、控制工程、计算机科学……经济学、管理学、人类学、心理学……看作“造飞机”的“子领域”嘛!
那大众公司“造汽车”,是不是也是一个领域?“造汽车也得涉及上面这么多学科,不过可能要把航空工程替换成汽车工程。
哦,同样,可以把“造汽车”看作大的“领域”,流体力学、热力学、汽车工程、机械工程、材料工程、电子工程、控制工程、计算机科学……经济学、管理学、人类学、心理学……看作“造汽车”的“子领域”嘛!
世界上形形色色的组织何其多,提供的价值何其多,而且还不断推陈出新,真的有那么多“领域”?
“领域”应该是比“做事情”更稳定、更基本的东西,像下图:
(2)“领域”是组织带来的?
“领域指一个组织所做的事情以及做事时所处的世界”,意思是“领域”是由“组织”带来的?
要是没有组织(organization),领域还存在吗?
一款贪吃蛇游戏涉及的领域,是什么组织在什么世界做什么事情?这个游戏有资格使用革命性创造和划时代洞见的领域驱动设计吗?
当然,此处可以用领域驱动设计投资少、见效快、产量高、门槛低、仪式感十足的特点回答,候选回答可以有:
*玩家组织在手机上玩贪吃蛇。
*贪吃蛇游戏的开发人员组织用开发工具开发贪吃蛇。
完美!
那如果横截面直径达100光年的γ射线暴袭击地球,人类灭绝(参见王诺诺的小说《故乡明》),领域(特别是和人类无特定相关的)还存在吗?
**********
接下来,我们来探讨一下领域是什么,领域、系统、组织之间的关系,并剖析原文这个错误定义背后所隐藏的DDD圈子通病:
没有能力、也不愿意下苦功学习如何理清系统所封装的领域逻辑,于是选择退到系统外“望闻问切”,试图来个“内病外治”,从外部来搞定内部。
如果系统外的逻辑也变得复杂,那么就转去搞"团队建设",毕竟这是圈子真正擅长的。
待续……