写点什么

利用事件简化系统架构

  • 2013-05-02
  • 本文字数:636 字

    阅读完需:约 2 分钟

在小型业务组件之间使用事件进行交互可以简化系统架构,上周 Russ Miles 在探讨“通过事件简化架构( Architectural Simplicity through Events )”时谈到了这一点。

简洁真的非常重要 Barbara Liskov QCon London 2013 的主题演讲中这样说。资深顾问 Russ Miles 对此深表赞同。他的经验是,团队的开发速度经常因所编写代码体积和复杂性的增长而放缓。他认为简化架构是帮助团队保持开发势头并加快开发过程的最佳方式。

对 Russ 而言,组件结构在简化架构方面非常重要。将组件放置在传统的分层模型中往往会把事情弄得一团糟。因此他创建了 Life-Preserver 模型(形成了一个环),所有的基础设施软件都在环上处理集成,而核心业务组件在环内加入业务价值。他指出该模式与 Alistair Cockburn 创建的六边形架构( Hexagonal Architecture )风格非常相似。

事件

下一步是定义组件如何彼此合作。因为我们很可能并不是一开始就知道所有交互,因此可以通过发送事件保持系统的灵活性。组件要遵守的唯一契约是事件的接收与广播,这为我们带来了一个标准的事件驱动架构,不过该架构是组件级的。

管道与过滤器

再进一步,Russ 几乎将组件缩减成了函数,从强类型事件变为简单的数据,比如,以文档或XML 的形式,使核心通信方式与集成组件和外部事件之间的通信方式相同。这一步使架构变为了在小型组件之间分享不可变数据,而每个组件就是负责对数据做某种处理并返回数据,这就是管道与过滤器模式,不过是在系统架构内部而已。

查看英文原文: Events bring Simplicity to a System’s Architecture

2013-05-02 08:544189
用户头像
臧秀涛 略懂技术的运营同学。

发布了 300 篇内容, 共 140.9 次阅读, 收获喜欢 35 次。

关注

评论

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

app小程序开发的重点在哪里?|企业软件定制网站建设

Geek_16d138

小程序开发 软件定制 app定制开发

SQL 中的 MIN 和 MAX 以及常见函数详解及示例演示

小万哥

MySQL 数据库 sql 程序员 后端开发

PDF转Word,1行Python代码就够了,免费用

程序员晚枫

Python PDF word 自动化办公

数据库系统概述之常用数据库

小齐写代码

简单的剪贴板工具 PasteNow中文激活版

胖墩儿不胖y

Mac软件 剪切板工具 剪切板软件

Trapcode Suite for Mac(红巨星粒子插件) 2024.0.2激活版

展初云

Mac 3D粒子插件 红巨星粒子插件 Red Giant Trapcode Suite

发挥云计算潜力:Amazon Lightsail 与 Amazon EC2 的综述

亚马逊云科技 (Amazon Web Services)

云计算 API Amazon EC2 VPS Amazon Lightsail

还在为考试重题、错题而头疼?大可不必!时习知新功能了解一下!

轶天下事

协同办公零代码领先实践之企业用品管理

用友BIP

协同办公

服务器如何搭建虚拟主机

Geek_f19a80

服务器

PasteNow for mac(剪贴板工具)

展初云

Mac软件 剪切板工具

UltraCompare 23 for Mac文件比较工具

展初云

Mac 文件对比工具 UltraCompare

前言 | AI工程化部署

AIWeker

AI AI工程化部署

华为数字治理经验,首次披露!

轶天下事

2023 CCHIO | 共襄盛会,为肿瘤防治创新发展贡献觅健力量

联营汇聚

测试人员在 Scrum 中的角色是什么?

敏捷开发

项目管理 Scrum 敏捷开发 自动化测试 bug管理

第八期 |《实时洞察 智能运营一用友企业绩效管理白皮书》解读

用友BIP

企业绩效

音色逼真、韵律自然的AI人声克隆限时福利!

阿里云CloudImagine

云计算 视频云

做好数据治理,推动国有企业数据资产化加速落地!

用友BIP

数据治理 数据资产入表

如何打破资产盘点壁垒,用友BIP资产云来支招!

用友BIP

资产盘点

提升编程效率:软件工程师必备的10个Git命令

南城FE

git 前端 软件工程 后端 代码

利用事件简化系统架构_架构_Jan Stenberg_InfoQ精选文章