美文网首页
软件体系风格

软件体系风格

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

体系风格

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

体系构成

组成体系的几大要素

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

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

经典风格

管道与过滤器

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

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

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

优点:

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

缺点:

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

数据抽象和面对对象系统

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

优点:

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

缺点

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

基于事件系统

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

优点:

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

缺点:

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

分层系统

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

仓库系统及知识库

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

C2风格

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

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

相关文章

  • 软件体系风格

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

  • 软件体系结构风格

    软件结构风格的定义:软件结构风格是描述某一特定应用领域中系统组织方式的惯用模式(idiomatic paradig...

  • 软件体系结构第三章之一

    1. 软件体系结构风格:某个风格或某一类风格是从已有的成功软件系统的组织结构中抽取出来,并且可应用于不同的软件开发...

  • 软件体系结构风格之三

    1. 基于构件的动态系统结构 (1)分为应用层、中间层、体系结构层。 (2)应用层处于最低层,包括构件连接、构件接...

  • 软件体系结构风格之一

    1. 管道和过滤器风格 【数据流风格,因为管道里都是数据流】 (1)构件:过滤器。它对输入流进行处理、转换。处理后...

  • 软件体系结构风格之二

    这里要说的是三类分布式系统:局域网文件服务器结构、客户/服务器体系结构(2层和N层)、基于Web的计算 1. 局域...

  • 授课偶得

    前两天讲软件体系结构风格中的事件驱动风格,偶有所得。事件驱动风格中的组件一般包括:事件发布者,事件处理者。有些系统...

  • 软件体系

    1引言 软件体系结构的主题是针对复杂软件系统的高层结构、组织单元之间的相互关系的描述,以及围绕这种描述展开的各项活...

  • 无标题文章

    软件体系架构 第一章 认识体系结构 软件架构的多个结构 软件的架构不是静止的 软件架构的概念 软件架构的产生 软件...

  • DISC行为风格体系

    前几天撩Boss任务挑战失败,原因在于我对沟通中的“对象”了解不够彻底。沟通中,最难获取的是“个性特征”,但是最能...

网友评论

      本文标题:软件体系风格

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