zoukankan      html  css  js  c++  java
  • 《软件构架实践》(二) —— 理解

    书中所举的例子:A-7E航空电子系统的构架。

    作者以三个构架层次上的结构进行讨论。

    (一)分解结构

    将工作划分为细小的模块单元。

    目的是为了让系统中各个模块的功能具有独立性,那么好处就显而易见了,易于修改。

    比如:

    • 存在技术更新或者更替,不至于修改一处而牵引其它各处。
    • 项目开发人员的更替,会让后来者更易进行工作。
    • 处理问题,更易查找和针对。

    (二)使用结构

    软件系统中各个部分之间的关系。

    自己的理解是工作人员了解了其中的关系(或者称之为使用关系),那么工作人员对使用方的针对性开发会更加明确。或者说在接口方面的设计会更加完善。

    或者如同书中所说的(玩笑),已经列好的关系成为列表单,将系统的部分功能呈现出来(包含一些精彩的设计来作为加分项),交于投资方来获取肯定,也是可行的。

    (三)进程结构

    软件系统运行过程。

    这就如同程序中的事件链。  触发事件——执行事件

    我们需要利用这个解决一些问题:

    • 软件系统运行的基本功能。
    • 解决一些操作冲突问题,来进行有序执行,避免进入死循环。
    • 建立错误解决机制。

    此结构更多是对相关使用者有直接影响。所以考虑周全,对大体功能进行细化和设计(比如前端使用者是一个画面,后台计算是另一个执行动作),以达到目标。

    综上所述:三个结构都是非常重要的,从系统的模块、关系、过程三大方面进行设计。便于更改,便于抽取自己,提高并行性或性能等不同的质量属性有着重要的影响。对系统的静态方面和动态方面都有系统化的完善,对其中的关系都有了更深的理解。

  • 相关阅读:
    pytest
    pytest 跳过测试用例 skip
    pytest
    pytest -allure标记用例级别severity
    pytest-
    pytest-分布式执行(pytest-xdist)
    4、win10搭建easy-mock平台
    pandas日期缺失,空值填充方法
    Pandas拼接操作(concat,merge,join和append)的区别
    关于docker容器和镜像的区别
  • 原文地址:https://www.cnblogs.com/maplely/p/6379506.html
Copyright © 2011-2022 走看看