软件结构风格

180 阅读3分钟

构件:程序、类、或者中间件

软件体系结构设计核心目标:重复的体系结构模式(软件复用/重用)

软件体系结构(架构)风格:描述某一特定应用领域中系统组织方式的惯用模式。

数据流体系风格

批处理体系风格: 每个处理步骤都是独立的程序,每一步必须在前一步结束后才能开始,且数据必须是完整,以整体方式传递

管道过滤器: 把系统分成几个序列的处理步骤,每个步骤之间通过数据流连接,一个步骤的输出是另外一个步骤的输入,每个步骤都有输入和输出。

调用/返回体系结构风格

一种分而治之的策略,主要思想是将一个复杂的大系统分解为若干个子系统,降低复杂度,增加可修改性。

主程序/子程序风格: 采用单线程控制,把问题划分为若干处理步骤,构件即为主程序和子程序。

面向对象体系结构风格: 构件是对象,即抽象数据类型的示例

层次型体系结构风格: 每一层为上层服务,并作为下层的接口,仅相邻层间有接口。

客户端/服务器体系结构风格

二层C/S模式: 数据库服务器(后台:负责数据管理)、客户应用程序(前台:完成与用户交互任务)和网络

三层C/S模式: 瘦客户端模式。应用功能分为表示层、功能层和数据层

表示层:用户接口与应用逻辑层的交互,使用图形用户界面

功能层:实现具体的业务逻辑处理

数据层:数据库管理系统

浏览器/服务器风格(B/S)

B/S风格: 三层应用结构的实现方式,浏览器,web服务器,数据库服务器

以数据为中心的体系结构风格

仓库体系结构风格:存储和维护数据的中心场所,由中央数据结构(说明当前数据状态)和一组独立构件(对中央数据进行操作)组成。

黑板体系结构风格: 是一种问题求解模型,是组织推理步骤、控制状态数据和问题求解之领域知识的概念框架。可通过各种黑板、知识源和控制模块的构件来设计。应用于信号处理领域、如语音识别和模式识别

虚拟机体系结构风格

虚拟机体系结构风格基本思想是认为构建一个运行环境,可以解析与运行自定义的一些语言,增加架构的灵活性

解释器体系结构风格: 通常被用来建立一种虚拟机以弥合程序语义与硬件语义之间的差异,缺点是执行效率较低,典型例子是专家系统

规则系统体系结构风格: 包括知识库、规则解释器、规则/数据选择器及工作内存(程序运行存储区)

独立构件体系结构风格

强调系统中的每个构件都是相对独立的个体,他们之间不直接通信,以降低耦合度,提升灵活度

进程通信体系结构风格: 构件是独立的过程,连接件是消息传递

事件系统体系结构风格;构件不直接调用一个过程,而是触发或广播一个或多个事件

C2风格

C2风格通过连接件连接构件或某个构件组,构件与构件之间无连接。