写点什么

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

  • 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:003159
用户头像

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

关注

评论

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

HPE Aruba Networking Central扩展AI自动化能力 推出第三方设备及终端用户体验监控功能

科技热闻

域名的命名规则有哪些?注册域名需要注意哪些?

国科云

10款好用的开源 HarmonyOS 工具库

威哥爱编程

鸿蒙 HarmonyOS HarmonyOS NEXT

尝鲜 HarmonyOS NEXT 开发环境搭建

威哥爱编程

鸿蒙 HarmonyOS HarmonyOS NEXT

HarmonyOS NEXT 底部选项卡功能

威哥爱编程

HarmonyOS ArkTS HarmonyOS NEXT

做效能度量,如何避免落入“此消彼长”的怪圈?

思码逸研发效能

程序员 DevOps 研发效能 效能度量 业技融合

探讨微服务治理场景中,Sermant Backend如何管理插件动态配置

华为云开发者联盟

Backend Developer javaagent 微服务、 sermant

阿里巴巴商品详情API返回值:电商行业发展的新动力

技术冰糖葫芦

API 接口 API 文档 API 测试 API 性能测试

Vue状态管理库Pinia详解

威哥爱编程

JavaScript Vue Pinia

如何用AI快速开发一个小程序?

FinFish

小程序开发 AI技术开发 AI生成小程序

万界星空科技MES系统与各大系统的集成

万界星空科技

系统集成 mes 万界星空科技mes 生产管理MES系统

C++20中对于并发方面的进步

快乐非自愿限量之名

c++ 并发

SD-WAN解决视频会议加速难题

Ogcloud

网络加速 SD-WAN SD-WAN组网 SDWAN 视频会议加速

现场直击!2023望繁信科技产品发布会精彩回顾

望繁信科技

数字化转型 流程挖掘 流程资产 流程智能 数字北极星

30个sql调优及高级sql技巧

威哥爱编程

MySQL oracle #SQL

百度AI继续霸榜!百度搜索蝉联国内AI产品第一

Geek_2d6073

SD-WAN:大型集团机构组网方案

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

快速上手:淘宝/天猫商品快递费用API返回值解析

技术冰糖葫芦

API 接口 API 文档 API 测试 API 性能测试

ArkTS 和仓颉的特性对比与案例

威哥爱编程

HarmonyOS ArkTS 仓颉 HarmonyOS NEXT

cad设计绘图工具:AutoCAD(CAD2024)中文特别版

你的猪会飞吗

AutoCAD 2024 Mac版 AutoCAD 2024下载 AutoCAD 2024破解

用JS实现简单的屏幕录像机

京东科技开发者

RPA在物流企微私域场景的应用

京东科技开发者

HarmonyOS NEXT 开发之ArkTS基础入门

威哥爱编程

HarmonyOS ArkTS HarmonyOS NEXT

开发游戏直播平台的秘密:看小李如何三天内快速上线!

软件开发-梦幻运营部

了解final关键字在Java并发编程领域的作用吗?

EquatorCoco

Java 编程

万界星空科技MES数据的集成方式

万界星空科技

制造业 mes 万界星空科技 万界星空科技mes

「算力包」璀璨亮相2024中国算力大会!

九章云极DataCanvas

刘洋,一个爱 drink 的好运程序员|MarsCoders 开发者说

豆包MarsCode

人工智能 程序员 AI 智能

“元脑企智”EPAI:企业AI应用从“手工作坊”到“工厂高精产线”

脑极体

AI

在 ArkTS 中,如何有效地进行内存管理和避免内存泄漏?

威哥爱编程

鸿蒙 HarmonyOS HarmonyOS NEXT

iPaaS全面选型指南

RestCloud

系统架构 产品开发 ipaas

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