当前位置: 首页 > news >正文

高级系统架构师笔记——系统架构设计基础知识(3)软件架构风格

系统架构设计基础知识(3)软件架构风格

    • 软件架构风格
      • 概述
      • 数据流体系结构风格
        • 批处理体系结构风格
        • 管道-过滤器体系结构风格
      • 调用/返回体系结构风格
        • 主程序/子程序风格
        • 面向对象体系结构风格
        • 层次型体系结构风格
        • 客户端/服务器体系结构风格
      • 以数据为中心的体系结构风格
        • 仓库体系结构风格
        • 黑板体系结构风格
      • 虚拟机体系结构风格
        • 解释器结构风格
        • 规则系统体系结果风格
      • 独立构件体系结构风格
        • 进程通信体系结构风格
        • 事件系统体系结构风格
      • 总结

软件架构风格

概述

软件架构风格
数据流
调用/返回
以数据为中心
虚拟机
独立构件
批处理
管道-过滤器
主程序/子程序调用
面向对象风格
层次型风格
客户端/服务器风格
仓库
黑板
解释器
规则系统
进程通信
事件系统

数据流体系结构风格

数据流体系结构没有概念上的程序计数器:指令的可执行性和执行仅基于指令输入参数的可用性来确定,因此,指令执行的顺序是不可预测的,即行为是不确定的。

批处理体系结构风格

特点:每个处理步骤是一个单独的程序,每一步必须在前一步结束后才能开始,并且数据必须是完整的,以整体的方式传递。

构件:独立的应用程序

连接件:某种类型的媒介。连接件定义了相应的数据流图,表达拓扑结构。

管道-过滤器体系结构风格

特点:一个步骤的输出是另一个步骤的输入。每个处理步骤由一个过滤器(Filter)实现,处理步骤之间的数据传输由管道(Pipe)负责。

构件:过滤器

连接件:数据流传输管道,将一个过滤器的输出传到另一过滤器的输入。

调用/返回体系结构风格

调用/返回风格是指在系统中采用了调用与返回机制。利用调用-返回实际上是一种分而治之的策略,其主要思想是将一个复杂的大系统分解为若干子系统,以便降低复杂度,并且增加可修改性。

主程序/子程序风格

特点:主程序/子程序风格一般采用单线程控制,把问题划分为若干处理步骤

构件:主程序和子程序

连接件:主程序和子程序间的过程调用

面向对象体系结构风格

特点:建立在数据抽象和面向对象的基础上,数据的表示方法和它们的相应操作封装在一个抽象数据类型或对象中。

构件:对象

连接件:过程调用

层次型体系结构风格

特点:层次系统组成一个层次结构,每一层为上层提供服务,并作为下层的客户。在一些层次系统中,除了一些精心挑选的输出函数外,内部的层接口只对相邻的层可见。

构件:层上的虚拟机

连接件:层间的交互协议

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

特点:基于资源不对等,且为实现共享而提出的

两层C/S体系结构:数据库服务器、客户应用程序和网络组成。服务器(后台)负责数据管理,客户机(前台)完成与用户的交互任务,称为“胖客户机,瘦服务器”。

主机
终端
终端
终端

三层C/S体系结构:相比于两层增加了一个应用服务器。整个应用逻辑驻留在应用服务器上,只有表示层存在于客户机上,故称为“瘦客户机”

数据库
应用服务器
应用服务器
工作站
工作站
工作站
工作站
工作站
工作站

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

仓库体系结构风格

特点:是存储和维护数据的中心场所。

构件:中央数据结构说明当前数据的状态以及一组对中央数据进行操作的独立构件

连接件:仓库与独立构件之间的交互

黑板体系结构风格

特点:适用于解决复杂的非结构化的问题,能在求解过程中综合运用多种不同知识源,使得问题的表达、组织和求解变得比较容易。黑板系统是一种问题求解模型,是组织推理步骤、控制状态数据和问题求解之领域知识的概念框架。

构件:黑板(共享数据)、知识源和控制模块

虚拟机体系结构风格

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

解释器结构风格

特点:软件中含有一个虚拟机,可以仿真硬件的执行过程和一些关键应用。解释器通常被用来建立一种虚拟机以弥合程序语义与硬件语义之间的差异。其缺点是执行效率较低。典型的例子是专家系统。

规则系统体系结果风格

特点:基于规则的系统包括规则集、规则解释器、规则/数据选择器及工作内存。

独立构件体系结构风格

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

进程通信体系结构风格

特点:构件通常是命名过程,消息传递的方式可以是点到点、异步或同步方式及远程过程调用等。

构件:独立的过程

连接件:消息传递

事件系统体系结构风格

特点:构件不直接调用一个过程,而是触发或广播一个或多个事件。

构件:模块或事件的集合

总结

架构风格关键字简介
数据流-批处理传统编译器,每个阶段的结果作为下个阶段输入一个接一个,以整体为单位
数据流-管道过滤器与批处理区别在整体一个接一个,前一个输出是后一个输入
调用/返回-主程序/子程序显式调用,主程序直接调子程序
调用/返回-面向对象对象是构件,通过对象调用封装的方法和属性
调用返回-层次结构分层,每层最多影响其上下两层,有调用关系
数据为中心-仓库现代编译器集成开发环境IDE,以数据为中心,又称数据共享风格中央共享数据源,独立处理单元
数据为中心-黑板现代编译器集成开发环境IDE,以数据为中心,又称数据共享风格语音识别、知识推理等问题复杂、解空间很大,求解过程不确定的软件系统,黑板,知识源,控制
虚拟机-解释器自定义流程,按流程执行,规则随时改变,灵活定义解释自定义的规则,解释引擎、存储区、数据结构
虚拟机-规则系统自定义流程,按流程执行,规则随时改变,灵活定义规则集、规则解释器、选择器和工作内存,用于DSS和人工智能、专家系统
独立构件-进程通信进程间独立的消息传递,同步异步
独立构件-事件系统(隐式调用)事件触发推动作,如程序语言的语法高亮、语法错误提示不直接调用,通过事件驱动
闭环-过程控制汽车巡航定速,空调温度调节,设定参数,并不断调整发出控制命令并接受反馈,循环往复达到平衡
C2风格构件和连接件,顶部和底部通过连接件绑定在一起,按照一组规则运作的并行构件网络
http://www.dtcms.com/a/572866.html

相关文章:

  • 备案网站负责人必须为法人吗网站建设需要客户提供什么内容
  • QML学习笔记(五十一)QML与C++交互:数据转换——基本数据类型
  • 机载电脑部署安装px4环境详细教程
  • Android APP 的压力测试与优化
  • 网站建设需要多久seo综合查询怎么关闭
  • 前端需要掌握多少Node.js?
  • Node.js 实现企业内部消息通知系统(钉钉/企业微信机器人)
  • 赤峰建设局网站wordpress主题制作工具
  • 告别混乱文本:基于深度学习的 PDF 与复杂版式文档信息抽取
  • 嵌入式Linux C语言程序设计五
  • 笔记:现代操作系统:原理与实现(8)
  • HashiCorp Vault 镜像拉取与 Docker 部署全指南
  • Oracle数据库常用视图:dba_datapump_jobs
  • WordPress wpForo Forum插件漏洞CVE-2025-11740复现
  • JAVA115回顾:Leecode 两数之和、无重复字符的最长字串、翻转二叉树、 最长公共前缀
  • 机器学习 大数据情境下blending-示例
  • 企业网站制作模板深圳坪山最新消息
  • Java进阶之多线程
  • idea2025版本设置springboot加载热部署
  • 合肥电子商务开发网站建设手机html5网站开发
  • 高速摄像机、科学相机赋能燃烧与多相流研究
  • 扣子大数据节点说明
  • Opencv图像畸变校正---个人学习笔记(待完善版)
  • Java设计模式精讲---02抽象工厂模式
  • 【ChatGPT系列】ChatGPT Atlas:未来浏览器的智慧体验
  • AWS实现S3配置私钥以及上传
  • C++ opencv拟合直线
  • TDengine IDMP 1.0.5.0 及近期更新总览:模型计算、可视化、异常检测全面升级
  • Melotopia For HarmonyOS 的 HAP 签名安装包在 DevEco Studio 中安装的详细步骤
  • 网页遇到ddos网络攻击,应该如何应对