这个DDD上下文图是不是废话刷工作量

钢铁侠 2021-9-13 20:34

我在看实现领域驱动设计这本书,请教老师像这个图UML怎么表示。感觉里面的一些图就像您写的废话工作量文章讲的,看起来很多,其实没什么东西

UMLChina潘加宇

这是“上下文映射图”(Context Map),DDD话语体系里的一个“创新”。

先来说废话刷工作量的问题。

看书中这个图下面的文字,作者可能觉得这样画还挺不错的,其实废话不少。

(1)既然是“上下文映射图”,节点(大圈圈)都变形成这样了,难道指的不是上下文而是面包?“上下文”三个字可以删去。

——干嘛要删,批量刷工作量多爽啊!

(2)一侧是OHS/PL(开放主机服务/发布语言)和U(上游),一侧是ACL(防腐层)和D(下游),改成单向箭头即可。

——干嘛要改,写这么多字多么能体现工作量啊!

(3)形状可以画成统一形状。

——干嘛要统一,就这样曲里拐弯的才好体现工作量啊,才表示我们敏捷啊!

我多么辛苦啊,既然这么辛苦,我的工作肯定是成果大大的!自己把自己感动得一塌糊涂。这就是许多“敏捷”“DDD”圈子的心态。


UML没有“上下文映射图”。“上下文”的概念类似于“组件”。上面的图用UML组件图咔咔咔几下就出来了,如下:

如果一定要表达“我这个是上下文,不是组件”,可以定制一个组件的构造型《上下文》,选上即可,如下:

这样做比直接在名称里加“上下文”来表示这是一个“上下文”更好。

节点涉及到两个不同领域的知识:

知识一:“身份和访问”是一个“上下文”。

知识二:用图形表示,“上下文”是这个样子的。

知识一和知识二是正交的,应该分离。如果团队对知识二有共识,那么只需表达知识一即可。

同理,边也涉及到两个不同领域的知识:

知识一:“身份和访问”和“敏捷项目管理”是“OHS/PL+U和ACL+D”的关系。

知识二:用图形表示,“OHS/PL+U和ACL+D”的关系是这个样子的。

知识一和知识二是正交的,应该分离。如果团队对知识二有共识,那么只需表达知识一即可。


weixinpanjiayu2