NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

利用事件简化系统架构

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

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

关注

评论

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

一站式 DB2 数据管理解决方案

NineData

sql 数据 客户端 db2 NineData

用友BIP,为打造世界一流光伏数智灯塔工厂聚势蓄能

用友BIP

光伏产业

数智化浪潮中,广电行业收入管理流程该如何重构?

用友BIP

广电行业

得物 Redis 设计与实践

得物技术

redis 架构 运维

把握效率与最优性:Dijkstra算法的探索

高端章鱼哥

算法 计算机 Dijkstra

装备修理行业数智化转型之道

用友BIP

装备修理行业

开箱即用!教你如何正确使用华为云编译构建服务CodeArts Build!

华为云PaaS服务小智

云计算 软件开发 华为云 编译构建

唱衰PHP?这些言论别太离谱~《PHP综合现状分析报告》来了

禅道项目管理

php

实况窗功能上线,即时掌握活动最新进展

HMS Core

HarmonyOS

2023-10-25:用go语言,假如某公司目前推出了N个在售的金融产品(1<=N<=100) 对于张三,用ai表示他购买了ai(0<=ai<=10^4)份额的第i个产品(1<=i<=N) 现给出K(

福大大架构师每日一题

福大大架构师每日一题

TuGraph Analytics图建模研发:为图计算业务提速增效

TuGraphAnalytics

分布式 图计算 图平台 图研发 图运维

博睿动态|GOPS全球运维大会2023上海站即将开启!

博睿数据

可观测性

大模型在数据分析场景下的能力评测

Kyligence

数据分析 Kyligence Copilot

用友全球司库十问(五)| 企业如何主动管理资金流动性?

用友BIP

全球司库 流动性管理

HarmonyOS SDK,赋能开发者实现更具象、个性化开发诉求

HMS Core

鸿蒙 HarmonyOS

语雀服务宕机带来的稳定性思考

老张

高可用 SRE 稳定性保障

和鲸赞助!第16届中国R会议暨2023 X-AGI大会通知

ModelWhale

机器学习 R 数据科学 X-AGI 统计之都

支付宝权限问题大全|一文搞定,持续更新

盐焗代码虾

支付宝 经验分享 支付宝权限

开放原子开源基金会理事长孙文龙一行赴拓维信息参观交流

开放原子开源基金会

开源

2023 CCF中国开源大会「开放科学——引领未来科学研究发展的新范式分论坛」成功举办

开放原子开源基金会

战略牵手OXY精英设计、朗生、MPE美亚,小度合作生态重构再迎重要时刻

新消费日报

如何制作二维码会议签到系统?

草料二维码

介绍SDK(C++版)使用方法

矩视智能

深度学习 机器视觉

英特尔以创新边缘AI技术赋能未来智慧城市建设

E科讯

云图说|华为云CodeArts Build,云端化的编译构建平台

华为云开发者联盟

华为云 华为云开发者联盟 编译构建

跨国企业如何选择跨境数据传输平台,了解这篇就够了

镭速

跨境数据传输

一文了解企业云盘和大文件传输哪个更适合企业传输

镭速

大文件传输

出海 SaaS 企业增长修炼手册2:Kyligence 落地 PLG 是如何避坑的?

Kyligence

指标管理 SaaS 增长

​交易所开发 PancakeSwap DeFi 成功的秘密:您的 DEX 发展蓝图

区块链软件开发推广运营

交易所开发 dapp开发 区块链开发 链游开发 NFT开发

ConceptDraw PROJECT for Mac(项目管理软件) 14.0.0.302完整激活版

mac

项目管理工具 苹果mac Windows软件 ConceptDraw PROJECT

去中心化应用程序(DAPPS)开发

西安链酷科技

区块链 源码 dapp 去中心化 交易所搭建

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