美文网首页
软件体系风格

软件体系风格

作者: 哒哒luada | 来源:发表于2017-01-18 21:48 被阅读72次

    体系风格

    如武林门派各有异长之处,其所长即是风格体现。
    对于软件体系来说"每一套体系风格里装载着独特的结构、语义特性"

    体系构成

    组成体系的几大要素

    • 数据流风格: API接口规范、管道、过滤器
    • 调用/返回风格: 主次程序关系、面向对象模式、层次结构
    • 独立性的构建风格: 进程间通信方式、事件处理系统
    • 虚拟机风格: 解析器、约定的规则系统
    • 厂库数据风格: 数据库系统、超文本系统、黑板系统

    但凡软件领域里的系统及架构都离不开这些由这些要素来构建。
    而且,对应软件层次结构画分可以按以上要素进行分层。

    经典风格

    管道与过滤器

    可以粗略的将管道与过滤器看成一个黑盒子,一端往里丢数据,然后再从另一端取出已处理的数据。

    管道
    Unix 进程通信之管道详解

    过滤器: 比较官方的解释"输入被消费前,输出已产生",实际上也是内部加上特定的处理后输出数据。不同的是其需要为独立的实体,每一个过滤器的数据为独立,不与其他过滤器共享。

    优点:

    • 软件结构有良好的隐蔽性和高内聚、低耦合
    • 方便开发人员(设计师)处理输入\输出数据流
    • 支持软件重用
    • 便于系统维护,易于扩展系统性能
    • 支持并发处理 (过滤器为独立任务,每一个任务可以并行处理)

    缺点:

    • 对交互式的应用,"黑盒子处理方式显得不太友好"
    • 过滤器处理数据的成本随着其数量增加而增加

    数据抽象和面对对象系统

    构件作为对象,负责保证资源的完整性,通过函数和过程调用来实现交互。

    优点:

    • 根据对象的属性,可以做到高内聚、低耦合(通过隐藏来实现)。(即改变某个对象的表示,不会影响到其他对象)

    缺点

    • 在过程调用及交互中,对象标志被改变了,那么调用该该标志的函数都需要进行改变(不太利于后续维护)

    基于事件系统

    其思想是系统构件不直接通过调用对象或者过程,而是通过触发器或者广播一个及多个事件来激活对应的进程调用。(为隐式调用)

    优点:

    • 易于重构
    • 易于扩展系统(当用一个构件替代另外一个构件时,不会影响到其他构件接口)

    缺点:

    • 数据通信问题。(消息广播后,不能确定有构件对其进行响应)

    分层系统

    所谓层次秉承上启下,对上层提供调用接口,对下层封装调用的接口。

    仓库系统及知识库

    主要由两种构件组成,中央数据结构+独立构件。
    通常情况下,黑板系统作为仓库
    其黑板由以下构成:
    a. 知识源 。 (知识源之间互为独立,其通信通过黑板来完成(数据共享))
    b. 黑板数据结构
    c. 控制 (黑板的状态驱动为控制主导者)

    C2风格

    通过连接件绑定在一起的按照一组规则运作的并行构件网络。
    其特点如下:

    • 系统中的构件可以通过不同的网络组成来构造复杂的应用需求
    • 构件的通信可以通过异步消息交换机制来实现
    • 构件之间互为独立,关联性比较小

    相关文章

      网友评论

          本文标题:软件体系风格

          本文链接:https://www.haomeiwen.com/subject/jkmvbttx.html