写点什么

利用事件简化系统架构

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

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

关注

评论

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

模块三作业及总结

Thomas

架构训练营

你真的会打印日志?

中间件兴趣圈

Java 11月日更

【架构实战营作业】模块七——王者荣耀商城异地多活架构

聆息

腾讯校招被问Android网络相关面试题,精编参考解析全整理,你不看看吗?

android 程序员 移动开发

自学Android,面试被怼,看我如何拿下阿里offer

android 程序员 移动开发

经济下行趋势明显,Android开发者出路在哪?7成Android开发者月薪不足6千

android 程序员 移动开发

腾讯Android中高级面试题大全(含解析)

android 程序员 移动开发

腾讯T3-Android高级架构师学习笔记

android 程序员 移动开发

腾讯大牛,一篇文章教你什么是Android-Fragment-,Android高级架构师筑基必备!

android 程序员 移动开发

线程池系列 - (4)工作流程

android 程序员 移动开发

绝了,华为大神耗费5个月21天,打造这份714页PDF的鸿蒙学习笔记,2020终于火爆全网

android 程序员 移动开发

腾讯35岁架构师提前退休,比别人早2年确定职业目标有多重要?还不学起来等着被裁吗?

android 程序员 移动开发

继承的基本使用

android 程序员 移动开发

约束布局(ConstraintLayout)1

android 程序员 移动开发

耗时118天爆肝【1296页】的“Android高级开发面试题

android 程序员 移动开发

聊一聊 Android 中巧妙的位操作

android 程序员 移动开发

C++学习路线图

泰伦卢

c++

自定义View

android 程序员 移动开发

腾讯一面被拒含泪离开,面试官:Android开发连这些都不懂,哭也没用

android 程序员 移动开发

线程池基本参数解析

android 程序员 移动开发

光的进化曲:电力承载网的升级之路

脑极体

给你一个全自动的屏幕适配方案(基于SW方案)!

android 程序员 移动开发

编写-Android-Library-的最佳实践-1

android 程序员 移动开发

网易被裁后,68天吃透这份阿里学长甩我的Android面试笔记,竟让我收到字节跳动和小米offer

android 程序员 移动开发

老板答应给我升职得前夕,34岁的我被优化了?3个月沉淀后迎来转折入职字节跳动!

android 程序员 移动开发

耗时118天爆肝【1296页】的“Android高级开发面试题(1)

android 程序员 移动开发

自定义Gradle插件的开发

android 程序员 移动开发

经验分享:上传视频到优酷客户端

android 程序员 移动开发

美团外卖Flutter动态化实践

android 程序员 移动开发

脑瓜子嗡嗡的。。Android-UI-线程更新UI也会崩溃?

android 程序员 移动开发

云计算市场,是时候来一场鱿鱼游戏了

白洞计划

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