写点什么

Greg Young 谈使用文档和流程代替事件

  • 2013-07-07
  • 本文字数:802 字

    阅读完需:约 3 分钟

并非所有系统都是基于事件或事实的。在某些问题域里,使用事件非常贴切,它们表示在各个时间点所发生的事实。“但是,也有很多系统却关注流程中的信息流动”, Greg Young 近日在伦敦举办的 DDD Exchange Day 大会的一场演讲中如是说,他的演讲主题是“基于文档的消息机制及分析”

一个示例是银行的抵押贷款。某人提交一条抵押贷款申请,接下来该申请在各部门间流动;不同岗位的人轮流对这一申请做些处理,最后该申请获得担保。这是不同于事件的另一种消息风格,Greg 演讲的关注点是文档在流程中的流动。

根据 Greg 的经验,通常在域模型中创建结构是非常愉快的工作,但是描述行为却绝非易事。

让人们描述行为通常是最困难的。

事件方式要求业务人员去思考“行为”,分析系统中发生的各种事件,这样做起来就会很漫长。而文档则带来了不同的视角,它们将关注点转到流程的流动,而这是大多数组织有的,或以前有的。实在不行还可以通过纸质流程做为备选。你若从这些纸质流程着手,就会发现业务人员能够更好地参与到这件事情当中。

业务人员可以轻松地理解纸张在流程中的流动。

Greg 发现了一个很好用的方法,将业务人员请进会议室,让他们忘掉电脑,询问他们如何创建一个表格或文档以及之后如何在流程中进行处理。通过这种方式描述流程有助于理解计算机如何完成这项工作。这么做还能得到一个副产品,那就是在该建模过程的同时还可以得到一份灾备方案。
这种做法之所以好用,是因为在电脑出现之前的很长的时间里,业务人员一直在操作基于纸质文档的流程。

“我们现在有两套概念模型,一套基于事件,一套基于文档”,Greg 强调,“二者并非完全互斥。事件可以包含文档,文档也可以包含事件。基于文档的流程里可以触发一个事件,而该事件又包含了当前的文档”。

Greg Young 是一个独立咨询顾问,它因创造了 CQRS 而闻名,同时他还是 Event Store 的首席架构师。


查看英文原文: Greg Young on Documents and Processes as an Alternative to Events

2013-07-07 10:011450
用户头像

发布了 184 篇内容, 共 80.2 次阅读, 收获喜欢 8 次。

关注

评论

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

Util应用框架基础(五)- 异常处理

何镇汐

开源 后端

Macos音乐制作工具:Ableton Live 11 Suite 附 完整安装教程

繁星

音乐制作 Ableton Live 11

英特尔CEO:将按计划或提前完成“四年五个制程节点”,明年将公布新计划

E科讯

完整的APP开发流程|软件定制

Geek_16d138

app定制开发 软件开发定制

如果有一款专门用于3D纹理贴图的工具,大家会愿意用吗?

3D建模设计

Stable Diffustion AI纹理 AI 贴图 稳定扩散模型

设计模式-建造者模式

运行ps\ai弹出This non-genuine Adobe app will be disabled soon,尝试解决办法

展初云

adobe Mac软件

目前软件定制app开发方式主要是那种?

Geek_16d138

app定制开发 软件开发定制

最高2000万元扶持!2024 年度宁波市甬江人才工程公告

科兴未来News

宁波甬江 甬江工程 人才政策 创业政策 创业资源

鸿蒙组件化构建

SkyFire

鸿蒙 OpenHarmony

合成数据加速机器视觉学习 合成数据即将改变人工智能。如今,机器学习被用于各种基于视觉的

3D建模设计

机器学习 机器视觉 合成数据 合成数据生成

Inklet for Mac(触控板绘画工具)

展初云

Mac软件 触控板增强 绘画工具

Mac电脑窗口辅助管理推荐 Magnet激活中文版

胖墩儿不胖y

Mac软件 窗口管理工具 窗口辅助软件

2023年10 种用于最佳稳定扩散最佳方案

3D建模设计

人工智能 Stable Diffusion Ai绘图 AI纹理 AI 贴图

Macos人工智能转录工具:AI Transcription for mac激活版 支持M1/M2

加油,小妞!

AI Transcription 人工智能语音转录工具

Mac电脑触控板增强软件 Bettertouchtool激活中文版

mac大玩家j

Mac软件

Get Backup Pro 3 注册激活版 附 完整安装教程 支持M1

加油,小妞!

数据恢复 Get Backup Pro 3

tools-重命名

一文读懂分布式 NFT数据网络 Bitscrunch

股市老人

虚拟服务器的应用场景

Geek_f19a80

服务器

合成数据如何改变制造业

3D建模设计

机器学习 机器视觉 合成数据 人工自能 合成数据生成

稳定扩散AI 纹理生成器

3D建模设计

AI Stable Diffusion AI自动纹理 AI 绘图 AI贴图

Linux RPM包安装、卸载和升级

芯动大师

小程序是什么?如何开发小程序?

Geek_16d138

小程序开发,软件开发

Things 3 for Mac(日程和任务管理工具)

展初云

Mac软件 任务管理软件 待办记事软件 Things

什么是UV贴图?

3D建模设计

人工智能 UV贴图 AI纹理

Macos数据备份工具:BeLight Get Backup Pro 3 附 注册机

繁星

数据备份 数据备份工具 Get Backup Pro 3

设计模式-责任链模式

Greg Young谈使用文档和流程代替事件_架构_Jan Stenberg_InfoQ精选文章