在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

利用事件简化系统架构

  • 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:544568
用户头像
臧秀涛 略懂技术的运营同学。

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

关注

评论

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

Vue组合式函数(二)封装一个请求

Augus

Vue3 11月月更

从3开始,在业务系统中增加分页功能

闫同学

go语言 11月月更 后端系统

2022-11-05:给定一个逆波兰式,转化成正确的中序表达式。要求只有必要加括号的地方才加括号。

福大大架构师每日一题

算法 rust 福大大

Go语言开发小技巧&易错点100例(二)

闫同学

go语言 11月月更 go开发

简单剖析开发:区块链杠杆合约交易所的核心优势

W13902449729

区块链交易所 合约交易所开发

架构实战营模块 4 作业

陌生流云

#架构实战营

计算机网络:差错控制

timerring

计算机网络 11月月更

HDC 2022 Day2精彩速递:开发者齐聚松山湖,深度体验鸿蒙开发套件

最新动态

2022华为开发者大会:华为阅读人-车-家一键流转,实现全场景数字阅读新增长

最新动态

SQL 碎碎念,你可能用不到但不能不知道的数据库技巧(2)

百里丶落云

数据库 后端 11月月更

QUIC不是TCP的替代品

俞凡

TCP 网络 QUIC

Go语言入门13—并发

良猿

Go golang 后端 开发 11月月更

星闪:咫尺之间,联接智能世界

脑极体

美图是如何搭建压测监控一体化平台的?

TakinTalks稳定性社区

压测平台

2022HDC|华为阅读:探索阅读体验新变革 助力阅读生态创新发展

最新动态

Grafana 最新开源项目 Phlare 速体验

Grafana 爱好者

云原生 可观测性 Grafana 11月月更

还担心接口乱糟糟?快来试试“斯瓦格”在线文档管理平台!

wljslmz

华为云 接口管理 swagger 11月月更

Sonatype Nexus 如何把多仓库合并在一起

HoneyMoose

华为开发者大会2022:HMS Core 3D建模服务再升级,万物皆可驱动

HarmonyOS SDK

hdc HMS Core

【C语言】char 关键字

謓泽

11月月更

下一代TCP: 网络演进的平台

俞凡

TCP 网络

去哪儿的常态化容量保障是怎么做的?

TakinTalks稳定性社区

HTML学习笔记(二)

lxmoe

html 前端 学习笔记 11月月更

Fastjson最想版本RCE漏洞【漏洞分析】

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

永续合约交易所的开发有哪些特征?

W13902449729

合约交易所开发 区块链交易所开发

一款设计和模拟数字逻辑电路的LogiSim工具

芯动大师

集成电路 Verilog 11月月更 logisim 模电与书店

基于开源IM即时通讯框架MobileIMSDK:RainbowChat-iOS端v6.1版已发布

JackJiang

即时通讯 MobileIMSDK im开发 开源im

HDC2022 携手共创鸿蒙生态 增长解决方案焕新升级构筑商业增长闭环

最新动态

易观千帆 | 2022年9月银行APP月活跃用户规模盘点

易观分析

金融 手机银行

SQL Sever提供的字符串类型

乔乔

11月月更

从零到一带你构建可靠的大型分布式系统,不愧是IT领域又一神作!

Java永远的神

Java 分布式 程序人生 后端 架构师

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