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

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

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

    (一)分解结构

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

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

    比如:

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

    (二)使用结构

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

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

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

    (三)进程结构

    软件系统运行过程。

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

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

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

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

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

  • 相关阅读:
    数组方法延伸
    Vue基础知识之过滤器(四)
    Vue基础知识之vue-resource和axios(三)
    【正则】对RegExp执行typeof运算的结果
    【正则】所有的字符(总)
    学习正则有感by魔芋(命名问题)
    关于正则表达式(转)
    【15】ES6 for Humans: The Latest Standard of JavaScript: ES2015 and Beyond
    中国首届CSS开发者大会讲师照片
    拥有强大的自我驱动力是一种怎样的体验?
  • 原文地址:https://www.cnblogs.com/maplely/p/6379506.html
Copyright © 2011-2022 走看看