这个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”的关系是这个样子的。
知识一和知识二是正交的,应该分离。如果团队对知识二有共识,那么只需表达知识一即可。