50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

利用事件简化系统架构

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

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

关注

评论

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

CodeDay#5 启动报名| 带你深入探索支付宝终端动态化实践

蚂蚁集团移动开发平台 mPaaS

小程序 mPaaS 2021年度技术盘点与展望 热门活动

关于“存在”的一点思考

石君

28天写作 量子 世界为何存在

对于我们程序员来说,基本面是什么呢?

Java架构师迁哥

CSS11 - 浮动

Mr.Cactus

html/css

2020DevOps状态报告

禅道项目管理

DevOps 运维 开发 趋势 自动化测试

链上智能合约APP开发|链上智能合约系统软件开发

系统开发

初识 D3.js :打造专属可视化

vivo互联网技术

JavaScript 数据分析 可视化 图表 D3

2020DevOps状态报告——平台模型:扩展DevOps的新方法

禅道项目管理

DevOps 运维 开发 趋势 自动化测试

浪潮云防勒索一站式解决方案,让勒索病毒“上云”无门

产品推荐

区块链即时通讯系统开发方案,IM聊天社交软件开发

v16629866266

关于2020 我有12个关键词

阅读

前端代码书写规范

Mr.Cactus

大前端 html/css

DevSecOps:把合规融入DevOps

啸天

DevOps 安全 法律 DevSecOps 应用安全

用技术的方式,在UI设计稿中设置随机码,保证高清

行者AI

Python

即构推出低延迟直播产品L3,可将直播延迟降到1s

ZEGO即构

Python 使用SQLServer

IT蜗壳-Tango

七日更

云原生动态周报 |华为云主导抗疫药物筛选科研成果"神农项目"登上国际化学顶刊封面

华为云原生团队

GitHub 疫情 云原生 Prometheus 华为云

学习新语言步骤(有其他语言基础前提)

周周

CSS12 - 清除浮动

Mr.Cactus

html/css

SpringCloud 从入门到精通 08--- Eureka集群

Felix

从根上理解高性能、高并发(四):深入操作系统,彻底理解同步与异步

JackJiang

网络编程 高并发 高性能 即时通讯

2020中国云计算生态峰会召开 浪潮云摘得三项大奖

云服务

再谈跨界 互联网+的建筑行业

张老蔫

28天写作

Mobileye的创新科技与方案将助力自动驾驶汽车畅行世界、惠及大众

E科讯

大数据知识专栏 - Zookeeper的Shell操作

小马哥

大数据 zookeeper ZooKeeper原理 28天写作

华为云张昆:支持全场景全业务,GaussDB加速企业数字化转型

华为云开发者联盟

数据库

波场链智能合约软件开发|波场链智能合约APP系统开发

系统开发

anyRTC-语音连麦demo上线

anyRTC开发者

音视频 WebRTC 直播 实时语音 语音聊天室

重学JS | 异步编程 Promise

梁龙先森

大前端 编程语言 28天写作

专科出身Java开发,2年进入苏宁,5年跳槽阿里,我晋升这么快的秘诀是什么?

Java架构追梦

Java 阿里巴巴 面试 架构师 成长路线

Spring中@Import的作用

张健

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