zoukankan      html  css  js  c++  java
  • 架构模式 节选自《闻缺陷则喜》(此书可免费下载)

    架构模式很多,仅举三例。

    1.1.1 分层架构

    经典三层架构最优场景,数据库管理软件(增删查改),大部分企业软件都是这类。经典三层架构自顶向下由用户界面层、业务逻辑层与数据访问层组成。《领域驱动设计》中的分层架构:用户界面层、应用层(给调用者提供完整的业务用例)、领域层、基础设施层。

    分层依据:一,顶层更面向业务和用户,底层更面向通用和硬件。二,面对变化。三,同层处于同一抽象层次。

    注意:如果某一层大部分函数只是简单调用低层的函数,则此层应该取消。

    1.1.2 事件总线架构

    三个参与者:事件总线、发布者、订阅者,发布者只能发消息给事件总线,事件总线只能发消息给订阅者。消息也称为事件。此架构非常适合于分布式系统,异构系统也没有影响。一个模块可以同时是发布者和订阅者。

    时间总线模块和消息队列模块的区别:前者收集、转发消息,不需要知道有多少个订阅者;后者直接处理消息或转给子模块。消息队列相对消息优点:异步、削峰。消息相对于直接函数调用的优点:解耦。

    1.1.3     黑板模式

    黑板模式由3个主要组成部分组成:黑板:包含来自解决方案空间的对象的结构化全局内存。知识源:专门的模块和它们自己的表示。控制组件:选择、配置和执行模块。使用场景:语音识别、车辆识别和跟踪、蛋白质结构识别、声纳信号的解释等。这类问题具有如下特点:可以分解成多个子问题,但每个子问题都属于不同的专业领域。要解决子问题,需要使用不同的表示法和范式,往往没有既定策略。

    2021年目标:完成新书《闻缺陷则喜》,B站有视频。
  • 相关阅读:
    MySQL集群常见高可用方案(转)
    upsource使用
    Hystrix 使用
    astah UML 先画图、后编程
    java ThreadLocal 使用
    Java基础 Annotation使用
    LVS+Keepalived+Nginx+Tomcat高可用负载均衡集群配置
    招聘求职学习
    Rotate List 面试题
    vue前台(四点二)
  • 原文地址:https://www.cnblogs.com/he-zhidan/p/14852429.html
Copyright © 2011-2022 走看看