写点什么

利用事件简化系统架构

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

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

关注

评论

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

Android 基础掌握好,面试基本不会倒!,面向Android开发者的复习指南

android 程序员 移动开发

Android 技术的下半场(1),android开发书籍下载

android 程序员 移动开发

Android 技术的下半场,kotlin开源

android 程序员 移动开发

Android 插桩入门,腾讯T2大牛手把手教你

android 程序员 移动开发

Android WebView常见问题,androidim开发

android 程序员 移动开发

Android 关于CPU类型的so文件兼容问题(ABI),十年Android编程开发生涯

android 程序员 移动开发

Android 开发面试心得:BAT大厂Android面试题整理,面试8家大厂后终于拿到Offer

android 程序员 移动开发

Android 反编译利器,jadx 的高级技巧,看完这篇彻底明白了

android 程序员 移动开发

Android 可能你想要的APK瘦身笔记(1),2021金三银四面试季

android 程序员 移动开发

Android 开发行业真的不行了嘛?,深入讲解Android

android 程序员 移动开发

Android 组件化实战,kotlin协程实现原理

android 程序员 移动开发

Android 基础与底层机制面试题,万字解析

android 程序员 移动开发

Android 开发经验分享:挺重要的网络基础,android实现选择题模式

android 程序员 移动开发

Android WebView独立进程解决方案(1),flutter推送通知

android 程序员 移动开发

android 快速开发(三)巧用公共标题栏(1),android开发从入门到精通

android 程序员 移动开发

Android 开发必备知识点及面试题汇总(Android+Java,斩获offer

android 程序员 移动开发

Android 无缝换肤深入了解与使用,android快速开发

android 程序员 移动开发

Android 组件通信中有哪些不为人知的细节?,面试题分享

android 程序员 移动开发

Android 初中级开发社招面试总结!,android自定义控件开发入门与实战

android 程序员 移动开发

Android 开发之深入浅出 NavigationUI,2020-2021阿里巴巴安卓面试真题解析

android 程序员 移动开发

android 快速开发(三)巧用公共标题栏,音视频编解码开发

android 程序员 移动开发

Android 性能监控系列一(原理篇),闭关60天学懂NDK+Flutter

android 程序员 移动开发

Android 可能你想要的APK瘦身笔记,android2018面试题

android 程序员 移动开发

Android 开发必备知识点整理,34岁程序员年薪50w

android 程序员 移动开发

Android 已发行多年,移动 App 已经趋近饱和,那么 Android 开发还会有那么吃香吗

android 程序员 移动开发

Android 开发一比一年难做!面试题都这么难了,android插件化

android 程序员 移动开发

Android 开发市场是盛是衰?你应该知晓,android实战项目

android 程序员 移动开发

Android 架构组件的最新进展 (上篇),flutter登录界面设计

android 程序员 移动开发

Android 约束布局(ConstraintLayout)1,最详细的解释小白也能听懂

android 程序员 移动开发

Android WebView独立进程解决方案,手撕面试官

android 程序员 移动开发

Android 使用 Kotlin 重写 Gradle 文件,kotlin教程

android 程序员 移动开发

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