软件体系结构风格分类

1 阅读1分钟

软件体系结构风格主要分为以下五大类:

一、调用 / 返回风格

通过模块之间的调用关系组织系统。 典型代表:

  1. 主程序 - 子程序(传统结构化程序设计)
  2. 面向对象(对象间方法调用)
  3. 层次结构(分层架构,例如 OSI 七层协议栈)
  4. 客户端 - 服务器(Client/Server 模式)
  5. C2 架构,依靠构件、连接件之间消息调用。

二、以数据为中心风格

以数据结构为核心,多个模块围绕数据协作。 主要包括:

  1. 仓库(Repository):共享中央数据库、超文本系统;模块主动读写中心存储进行协作
  2. 黑板(Blackboard):由黑板、知识源、调度器三部分组成,适合 AI 专家推理系统

三、数据流风格

通过数据在组件间流动建模系统。 典型代表:管道 - 过滤器(还有批处理序列)。

核心:数据沿着管道流过各个过滤器组件,组件只关心输入输出数据流。

四、虚拟机风格

系统构建为可执行指令的解释环境。 典型代表:解释器、基于规则的系统。

核心:自定义一套指令 / 规则,由虚拟机引擎解析执行。例子:正则引擎、专家规则系统。

五、独立构件风格

构件之间相互独立,依靠异步通信交互。 典型代表:

  1. 事件驱动系统(隐式调用)
  2. 进程通信

核心:构件之间不直接显式调用,通过事件、消息、进程间通信完成协作。