@Rays
2018-02-18T19:22:07.000000Z
字数 1480
阅读 1873
文化&方法
摘要: 界限上下文(Bounded Context)是采用领域驱动设计(DDD)工作方式中的一个核心理念。领域叙事(Domain storytelling)是一种发现在领域中人与系统如何共事的方式,可用于识别各个界限上下文,以及它们之间是如何互联的。在近期召开的DDD 2018欧洲大会上,来自于Workplace Solutions的演讲者Stefan Hofer和Henning Schwentner介绍了如何使用领域叙事工具确定界限上下文。
作者: Jan Stenberg
正文:
界限上下文(Bounded Context)是采用领域驱动设计(DDD)工作方式中的一个核心理念。领域叙事(Domain storytelling)是一种发现领域中人与系统如何共事的方式,可用于识别各个界限上下文,以及它们之间是如何互联的。近期在阿姆斯特丹召开的DDD 2018欧洲大会上,来自于Workplace Solutions的演讲者Stefan Hofer和Henning Schwentner做了演讲。两位演讲者在使用领域叙事方式与领域专家开展对话上具有多年的经验。在他们看来,领域叙事是建模工具箱中额外添加的一种有用工具。
使用领域叙事,可让领域专家讲述自己的工作方式。他们讲述的故事使用了下面的象形语言、一组有差异的符号和文本注释做可视化展示:
在通常情况下,符号是为适应领域而定制的。符号为人们提供了一种不同于交付情况的象形图。如有需要,可在图中添加文字,描述符号所代表的意义。使用符号和文字,最终构成了一些尽可能接近于自然语言的语句。然后将这些语句加入到图中,并使用数字标识顺序。一般情况下,如果能避开决策门户,那么故事总是仅涵盖某一个具体的例子。可视化绘图使领域专家能尽快看到一个故事中是否存在误解,并纠正其中的错误。
为了找出候选的界限上下文,Hofer和Schwentner在故事中使用了指示符。具体的指示符例子包括:
Hofer认定,一旦发现了三种指示符,就找到了在两个不同上下文间的一个有效界限。但Hofer强调指出,这种方法只表明了存在界限的迹象,而非确证。虽然在故事中,单向信息流是界限的一种指示符。但如果我们对领域做深入了解,就可能会发现该信息流在其它故事中表现出更复杂的特性。因此,这样的信息流不能构成一种界限。
在Hofer和Schwentner看来,仅仅找出上下文间的界限是不够的,因为业务流程通常是一种跨界限的合作性工作。两位演讲者强调指出,找出界限的目标并非是要树立起一道墙壁,而是构建一种能分离上下文的模型,支持人们一起共事。他们需要分离模型,让所构建的软件易于理解且不易出错,所构建的系统可供不同的人使用。
Hofer和Schwentner最后对演讲做了总结。他们指出领域叙事是一种有实用价值的工具,鼓励听众做尝试,并欢迎向他们反馈结果。
在大会中一个为期两日的研讨会上,Alberto Brandolini介绍了由他创立的另一种称为“事件风暴”的建模工具。
大会的所有演讲录像将在下月发布。DDD 2019欧洲大会已经开始规划,准确日程尚未发布。