写点什么

使用领域叙事确定界限上下文

  • 2018-02-23
  • 本文字数:1183 字

    阅读完需:约 4 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

界限上下文(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 欧洲大会已经开始规划,准确日程尚未发布。

查看英文原文: Finding Bounded Contexts Using Domain Storytelling

2018-02-23 18:003772
用户头像

发布了 391 篇内容, 共 156.1 次阅读, 收获喜欢 257 次。

关注

评论

发布
暂无评论
发现更多内容

聚焦银行业数智化转型,火山引擎数据飞轮系列白皮书重磅发布

字节跳动数据平台

芯盾时代的身份安全产品体系

芯盾时代

身份认证 移动安全 iam 权限架构

有哪些好用的私有化企业网盘?6款国内推荐

易成研发中心

分布式锁的实现原理

vivo互联网技术

redis zookeeper 分布式锁

硬核议程一睹为快!龙蜥社区走进Arm MeetUp邀您报名

OpenAnolis小助手

操作系统 arm 龙蜥社区 龙蜥meetup

17年深耕中国互联网与云生态,英特尔携手合作伙伴助力行业数智化升级

E科讯

求同尊异 龙蜥鼎力支持开源生态发展合作倡议

OpenAnolis小助手

开源 操作系统 龙蜥社区

用全彩LED显示屏打造抢眼的空间设计!

Dylan

技术 艺术 科技 LED display LED显示屏

GreptimeDB 监控自举 | 如何用 GreptimeDB 监控 GreptimeDB

Greptime 格睿科技

数据库 数据 数据监控

未成年人模式护航,保障安全健康上网

HarmonyOS SDK

HarmonyOS

生态伙伴集体呼吁升级原生鸿蒙,近千元“鸿蒙有礼”先锋权益等你来领!

最新动态

极狐GitLab 正式发布安全补丁版本17.6.1, 17.5.3, 17.4.5

极狐GitLab

gitlab

世界首次!智源研究院实现数字孪生心脏电功能超实时仿真

智源研究院

小程序免备案

HUODUNYUN

小程序 CDN CDN技术 小程序免备案 免备案

感谢 OpenAI,让中国开源 AI 大模型全球排名第一

是但求其发

#人工智能 ChatGPT Open AI AI 智能体

轻松搞定平稳运行,数据库平台 DBStack 帮助 DBA 运维不同基础设施上的各类数据库

百度Geek说

hyperf-wise-locksmith,一个高效的PHP分布式锁方案

左诗右码

8款OKR开源系统与非开源系统:全面比较与选择指南

易成研发中心

如何在HarmonyOS NEXT中处理页面间的数据传递?

威哥爱编程

huawei HarmonyOS ArkTS HarmonyOS NEXT

仿真软件的功能有哪些?仿真软件助力科研与工程领域

思茂信息

cst cst使用教程 CST软件

COMSOL工作站:配置指南与性能优化

GPU算力

数字孪生 高性能计算 仿真软件 #算法 COMSOL Multiphysics

Web端IM聊天消息该不该用浏览器本地存储?一文即懂!

JackJiang

即时通讯;IM;网络编程

AIGC产品经理训练营第一期 -- 毕业总结

AnMin

聚焦银行业数智化转型,火山引擎数据飞轮系列白皮书重磅发布

字节跳动数据平台

8款值得尝试的OKR系统推荐,助力企业目标管理

易成研发中心

倒计时1天!龙蜥社区走进中科方德MeetUp演讲亮点一览

OpenAnolis小助手

操作系统 龙蜥社区 中科方德 龙蜥meetup

使用领域叙事确定界限上下文_语言 & 开发_Jan Stenberg_InfoQ精选文章