【系统架构】架构风格专题

这篇具有很好参考价值的文章主要介绍了【系统架构】架构风格专题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1、定义

2、通用架构风格分类

3、架构风格比较

4、示例:管道-过滤 VS 数据仓库)比较因素分析


1、定义

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


2、通用架构风格分类

  • 数据流风格:批处理序列;管道-过滤器。
  • 调用-返回风格:主程序/子程序;面向对象风格;层次结构;客户端/服务器。
  • 独立构件风格:进程通信;事件系统。
  • 虚拟机风格:解释器;基于规则的系统。
  • 仓库风格:数据库系统;超文本系统;黑板系统。
架构风格 定义 代表
1. 数据流 面向数据流,按照一定的顺序从前向后执行

批处理序列

管道-过滤器

2. 调用/返回 构件之间存在显式互相调用关系,
在系统启动时加载已经在系统内编码,可直接运行。
容易实现并发处理和多任务。
树型结构,削弱了对计算的控制能力。

主程序/子程序

面向对象

层次结构

客户端/服务器

3. 独立构件 独立构件之间无直接交互(不直接调用一个过程),而是触发/广播一个或多个事件,通过事件驱动的方式实现通信和协作。

进程通信

基于事件的隐式调用




4. 虚拟机

自定义规则:将业务逻辑中频繁变化的部分(用户级别、折扣规则、机器学习流程)定义为可动态改变的规则,通过灵活的自定义规则, 实现规则的重组

基于这个规则来开发构件,能够跨平台适配,业务逻辑随时改变,规则灵活定义、灵活组合。

解释器可以解释执行用户自定义的规则

解释器

基于规则的系统

5. 仓库 以数据为中心,所有的操作都是围绕建立的数据中心进行的

数据库系统

超文本系统

黑板系统


3、架构风格比较

架构风格 灵活性 可扩展性 性能 应用

解释器

将用户级别、折扣规则定义为可动态改变的规则,通过灵活的自定义规则, 实现规则的重组

基于这个规则来开发构件,能够跨平台适配,业务逻辑随时改变,规则灵活定义、灵活组合。

解释器可以解释执行用户灵活自定义的规则(个性化折扣)。

折扣规则是独立的语法规则可动态改变,由解释器对变化的规则进行解析,修改更容易

加入新的用户级别和折扣规则时,通过定义新的规则实现可扩展性。

解释器是运行期动态绑定执行。

需要对用户级别与折扣规则进行实时解释,性能较差

规则集、规则解释器、选择器和工作内存,用于 DSS 和人工智能、专家系统。·

解释自定义的规则,解释引擎、存储区、数据结构。*


基于规则

面向对象
面向对象的实现相对固定,高度模块化,将用户级别、折扣规则等封装为对象,业务有变化需要修改具体的类/对象

业务逻辑有变化需要修改具体的类/对象

加入新的用户级别和折扣规则时,需要重新定义新的对象,并需要重启系统

在系统启动时加载,用户级别和折扣规则已经在系统内编码,可直接运行,性能较好 对象是构件,通过对象调用封装的方法和属性。,


隐式调用

独立构件之间无直接交互、不直接调用一个过程,而是触发/广播一个或多个事件,通过事件驱动的方式实现通信和协作。

解耦构件之间的依赖关系,降低耦合度,提升灵活性。

支持构件的动态添加和移除。当系统需要新增功能时,可以通过添加监听器或订阅者的方式来扩展系统的功能。 能够实现异步、非阻塞的事件处理

通过处理函数的并发调用,提高系统处理性能。性能较好

事件发布者将事件发布到事件总线上,事件订阅者可以异步处理这些事件,从而提高系统的并发性和性能。
1.根据用户的注册兴趣,向用户推送其感兴趣的新闻内容;
2.修改代码后,触发语法高亮、语法错误提示、代码格式化



管道-过滤器

流式数据结构,数据驱动机制,处理流程事先确定,顺序或有限循环的交互方式,交互性差

每个构件都有一组输入和输出,构件读取输入的数据流,经过内部处理产生输出数据流。

数据处理组件之间有依赖关系,前一个构件的输出作为后一个构件的输入,前后数据流关联,灵活性差。

数据与处理紧密关联,调整处理流程需要重新启动系统。

接口适配的扩展方法。

需要数据格式转换性能降低

支持过滤器并发调用,性能提高。文章来源地址https://www.toymoban.com/news/detail-722962.html

1. 数据输入某个构件,经过内部处理,产生数据输出。
2. 传统的编译器包括词法分析、语法分析、语义分析、代码生成等,每个阶段产生的结果作为下一个阶段的输入


仓库
数据存储在中央仓库处理流程独立,独立构件之间无直接交互,通过数据仓库间接交互

独立构件对中央数据进行操作,支持交互式处理。
数据与处理解耦合,可动态添加和删除处理组件。

独立构件与数据仓库进行数据适配
数据与处理分离,需要加载数据,性能降低。

数据处理组件之间一般无依赖关系,可并发调用,提高性能。
语音识别、知识推理等问题复杂、解空间很大、求解过程不确定的这一类软件系统,黑板、知识源、控制。“

4、示例:管道-过滤 VS 数据仓库)比较因素分析

比较因素 管道-过滤器风格 数据仓储风格
数据结构 流式数据 文件或模型
控制结构 数据驱动 业务功能驱动
交互方式 顺序结构、有限循环结构 独立构件之间无直接交互,通过数据仓库间接交互
数据处理 数据驱动机制,处理流程事先确定,交互性差。 数据存储在中央仓库处理流程独立,独立构件对中央数据进行操作,支持交互式处理。
可扩展性 数据与处理紧密关联,调整处理流程需要重新启动系统。 数据与处理解耦合,可动态添加和删除处理组件。
扩展方法 接口适配 与数据仓库进行数据适配
处理性能 需要数据格式转换,性能降低。
 

支持过滤器并发调用,性能提高。

数据与处理分离,需要加载数据,性能降低。

数据处理组件之间一般无依赖关系,可并发调用,提高性能。

到了这里,关于【系统架构】架构风格专题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 系统架构设计高级技能 · 软件架构概念、架构风格、ABSD、架构复用、DSSA(一)【系统架构设计师】

    点击进入系列文章目录 现在的一切都是为将来的梦想编织翅膀,让梦想在现实中展翅高飞。 Now everything is for the future of dream weaving wings, let the dream fly in reality. 软件架构概念 软件架构( Software Architecture ) = 软件体系结构 指系统的一个或者多个结构,结构包括: (1)结构

    2024年02月13日
    浏览(54)
  • 软考高级系统架构设计师系列论文真题一:论软件系统架构风格:真题分析、理论素材、精品范文赏析

    系统架构风格是描述某一特定应用领域中系统组织方式的惯用模式。架构风格定义了一个词汇表和一组约束,词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。软件系统架构风格反映了领域中众多软件系统所共有的结构和语义

    2024年02月10日
    浏览(66)
  • 软件架构设计(二) 软件架构风格其他风格简介

    架构师备战(四)-软件架构设计(二) 软件架构风格其他风格简介 架构风格其实是很重要的知识,我们先了解了基本的五种架构风格, 我们之前也提到除了这五种风格之外, 还有一些没有收录在这几种风格之内的, 这次会去做一个探索。 概念 当软件被用来操作一个物理系统时,软件

    2024年02月10日
    浏览(43)
  • 软件架构设计(五) 软件架构风格-微服务

    微服务的概念 微服务顾名思义,就是很小的服务,所以它属于面向服务架构的一种。 微服务架构是一种架构模式,它提倡将单一应用程序划分为一组 很小的服务 (其实就是功能独立,职责单一),服务之间互相协调,相互配合,为用户提供最终价值。 微服务架构风格中每

    2024年02月10日
    浏览(42)
  • 软件架构设计(六) 软件架构风格-MDA(模型驱动架构)

    概念 模型驱动架构MDA, 全称叫做Model Driven Architecture。 Model:表示客观事物的抽象表示 Architecture:表示构成系统的部件,连接件及其约束的规约 Model Driven: 使用模型完成软件的分析,设计,构建,部署和维护等 开发活动 MDA起源于分离系统规约和平台实现的思想。之前我们在净

    2024年02月09日
    浏览(34)
  • 软件架构设计(三) B/S架构风格-层次架构(一)

    层次架构风格从之前的两层C/S到三层C/S,然后演化为三层B/S架构,三层B/S架构之后仍然在往后面演化,我们来看一下层次架构演化过程中都有了哪些演化的架构风格呢? 而我们先简单了解一下之前的层次架构风格中分层的各个层次的作用。 表现层:由于用户进行交互,比如

    2024年02月09日
    浏览(34)
  • 【软考】系统架构设计风格分类的个人理解

    个人适当学习了软考系统架构设计师中关于系统架构设计相关的内容,梳理了一下相关信息。 常见架构类型和常见分类 常见的软考中出现的系统架构列举如下: 分层架构 管道-过滤器架构 客户端-服务器架构 模型-视图-控制器架构,即MVC架构 事件驱动架构 微服务架构 黑板架

    2024年02月16日
    浏览(37)
  • 软考高级系统架构设计师系列案例考点专题六:面向服务架构设计

    SOA概述和发展 SOA的参考架构 SOA主要协议和规范 SOA设计标准和原则 SOA的设计模式 SOA构建和实施 在面向服务的体系结构(SOA)中,服务的概念有了延伸,泛指系统对外提供的功能集。 从应用的角度定义,可以认为SOA是一种应用框架,它着眼于日常的业务应用,并将它们划分为单

    2024年02月05日
    浏览(59)
  • 软考高级系统架构设计师系列案例考点专题四:嵌入式系统

    嵌入式每年必考一题,但是属于选做题,如果不会可以不选。主要考查嵌入式系统的实时性和可靠性以及容错等概念。大概率会考到一些嵌入式领域的陌生技术,如果是完全没有见过的技术,不选即可。 系统可靠性是系统在规定的时间内及规定的环境条件下,完成规定功能的

    2024年02月09日
    浏览(55)
  • 系统架构师---软件重用、基于架构的软件设计、软件模型

    目录 软件重用 构件技术 基于架构的软件设计 ABSD方法与生命周期 抽象功能需求 用例 抽象的质量和业务需求 架构选项 质量场景 约束

    2024年02月12日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包