【笔记-软考】软件架构风格

avatar
作者
猴君
阅读量:0
Author:赵志乾 Date:2024-07-18 Declaration:All Right Reserved!!!

1. 概念

        架构风格是描述某一特定应用领域中系统组织方式的惯用模式,其反映了领域中众多系统所共有的结构和语义特性,并能指导如何将各模块、子系统有效组织为一个完整的系统。

2. 数据流架构风格

        数据流架构风格是一种类计算机体系结构,其没有概念上的程序计数器,指令的可执行性与执行仅基于指令输入参数的可用性来确定,故该风格的指令执行顺序是不可预测的,即行为是不确定;主要包括批处理架构风格和管道-过滤器架构风格;

  • 批处理架构风格:每个处理步骤都是一个单独的程序,每一步必须在前一步结束后才能开始,并且数据是完整的,以整体的方式传递;该风格的基本构件是独立的应用程序,连接件是某种类型的媒介;
  • 管道-过滤器架构:将系统分解为几个序贯的处理步骤,并由过滤器(Filter)实现,过滤器之间的数据传输由管道(Pipe)完成;该风格的基本构件是过滤器,连接件是传输管道;

3. 调用/返回风格

        系统中采用调用与返回机制,主要思想是将一个大系统分解为若干子系统,以便降低复杂度,并增加可修改性;主要包括主程序/子程序架构风格、面向对象架构风格、层次型架构风格、客户端/服务器架构风格;

  • 主程序/子程序架构风格:一般采用单线程控制,将问题划分为若干处理步骤,构件即为主程序和子程序;过程调用作为交互机制,充当连接件;
  • 面向对象架构风格:建立在数据抽象和面向对象基础上,数据的表示方法和相应的操作封装在一个抽象数据类型或对象中,该风格的构件是对象;
  • 层次型架构风格:系统分为多层,每层为上层提供服务并作为下层的客户;由于每层至多影响两层,同时只要给相邻层提供相同的接口,允许每层用不同的方法实现,为软件重用提供了支持;
  • 客户端/服务器风格:基于资源不对等,且为实现共享而提出的架构风格; 

4. 以数据为中心的架构风格

        主要包括仓库架构风格和黑板架构风格;

  • 仓库架构风格:仓库是存储和维护数据的中心场所,在该风格中有两种不同的构件:中央数据仓库和对中央数据进行操作的独立构件;
  • 黑板架构风格:适用于解决复杂的非结构化问题,能在求解过程中综合运用多种不同的知识源,让问题的表达、组织和求解变得比较容易。其为一种问题求解模型,是组织推理步骤、控制状态数据和问题求解的概念跨框架。

5. 虚拟机风格

        人为构建一个运行环境,在该环境上解析并运行自定义语言,从而增加架构的灵活性;该风格主要包括解释器与规则系统两种风格。

  • 解释器架构风格:含有一个虚拟机,用于仿真硬件的执行过程和一些关键应用;
  • 规则系统架构风格:基于规则的系统包括规则集、规则解释器、规则/数据选择器以及工作内存;

注:解释器通常被用于建立虚拟机以弥合程序语义与硬件语义之间的差异,缺点是执行效率低;

6. 独立构件架构风格

        强调系统中每个构件都是相对独立的个体,它们之间不直接通信,以降低耦合度、提升灵活性,该风格主要包括:进程通信架构风格和事件系统架构风格;

  • 进程通信架构风格:构件是独立的过程,连接件是消息传递,其特点为构件通常为命名过程,消息传递方式可以是点到点、异步或同步方式以及远程过程调用等;
  • 事件系统架构风格:基于事件的隐式调用思想,即构件内的过程在一个或多个事件中注册,当一个事件被触发时,系统自动调用在该事件中注册的所有过程;

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!