• TRA


    Review

    本周看了 《Fundamentals of Software Architecture》 的 "Chapter-14 Event-Driven Architecture“ , 其中对比了

    • 层层分发控制逻辑的模式 ,和 无控制逻辑,依赖事件驱动的模式(Android 的 EventBus) 的特点
    • 举出了一些例子场景分析了这两模式的典型使用方式等
    • Event-Driven Topology 里的一些常见问题以及通用解决方法

    阅读感受(简单的感受,可能不够有条理,不能作为覆盖性质的总结):

    • Event-Driven 会导致其中各个组件的终极解耦(毫无关联);但同时会丢掉一些信息,因为其哲学就是 ”组件之间互相一无所知,组件无法知道 event 的来源是谁“。是以忽略一些信息为代价换来的解耦。
      • 拓展提问: 解耦是否都是以丧失信息为代价的? POP 哲学变为 OOP 哲学, 是不是也是丢弃了一部分(不值得在意的)信息?
      • Event-Driven 比较适合组件之间的信息不需要在意的情况。
    • Event-Driven 比较适合 触发 而非 请求 的场景,即 不关心返回值和执行的情况
      • 这点比较难做,因为绝大多数 同步 的程序,组件之间都会有 请求
    • 组件之间的解耦越高,越适合 Event-Driven 的模式。
      • 例如多进程的场景

    Event-Driven Topology 适合满足如下条件的场景 (下面的”组件“指的即是 ”EventProcessor“):

    • 组件和组件之间的联系复杂,每个组件至少可以被两个其余的组件发出的非初始事件触发。
    • 所有的事件的触发不依赖执行结果

    Tip

    MacOS 上浏览网页的话,如果有不认识的单词,可以将鼠标指向该单词,使用快捷键 Ctrl + Cmd + D 直接进行原生 Dictionary 的翻译。

    Alg

    统计「优美子数组」

    这是一个 0-1 背包问题,比较简单

  • 相关阅读:
    du
    date
    echo
    redis的多实例
    redis相关配置
    mariadb的安装与主从复制
    11.Flask-钩子函数
    Python之Linux下的virtualenv&&virtualenvwrapper
    Linux的防火墙概念
    安装ipython解释器
  • 原文地址:https://www.cnblogs.com/wkmcyz/p/14059410.html
Copyright © 2020-2023  润新知