【系统架构】架构风格专题
最佳答案 问答题库668位专家为你答疑解惑
目录
1、定义
2、通用架构风格分类
3、架构风格比较
4、示例:管道-过滤 VS 数据仓库)比较因素分析
1、定义
架构风格:描述某一特定应用领域中系统组织方式的惯用模式,反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。
2、通用架构风格分类
- 数据流风格:批处理序列;管道-过滤器。
- 调用-返回风格:主程序/子程序;面向对象风格;层次结构;客户端/服务器。
- 独立构件风格:进程通信;事件系统。
- 虚拟机风格:解释器;基于规则的系统。
- 仓库风格:数据库系统;超文本系统;黑板系统。
批处理序列
管道-过滤器
2. 调用/返回构件之间存在显式的互相调用关系,在系统启动时加载,已经在系统内编码,可直接运行。
容易实现并发处理和多任务。
树型结构,削弱了对计算的控制能力。
主程序/子程序
面向对象
层次结构
客户端/服务器
3. 独立构件独立构件之间无直接交互(不直接调用一个过程),而是触发/广播一个或多个事件,通过事件驱动的方式实现通信和协作。进程通信
基于事件的隐式调用
4. 虚拟机
自定义规则:将业务逻辑中频繁变化的部分(用户级别、折扣规则、机器学习流程)定义为可动态改变的规则,通过灵活的自定义规则, 实现规则的重组。
基于这个规则来开发构件,能够跨平台适配,业务逻辑随时改变,规则灵活定义、灵活组合。
解释器可以解释执行用户自定义的规则。
解释器
基于规则的系统
5. 仓库以数据为中心,所有的操作都是围绕建立的数据中心进行的数据库系统
超文本系统
黑板系统
3、架构风格比较
架构风格灵活性可扩展性性能应用解释器
将用户级别、折扣规则定义为可动态改变的规则,通过灵活的自定义规则, 实现规则的重组。
基于这个规则来开发构件,能够跨平台适配,业务逻辑随时改变,规则灵活定义、灵活组合。
解释器可以解释执行用户灵活自定义的规则(个性化折扣)。
折扣规则是独立的语法规则,可动态改变,由解释器对变化的规则进行解析,修改更容易。
加入新的用户级别和折扣规则时,通过定义新的规则实现可扩展性。
解释器是运行期动态绑定执行。
需要对用户级别与折扣规则进行实时解释,性能较差。
规则集、规则解释器、选择器和工作内存,用于 DSS 和人工智能、专家系统。·
解释自定义的规则,解释引擎、存储区、数据结构。*
基于规则
面向对象面向对象的实现相对固定,高度模块化,将用户级别、折扣规则等封装为对象,业务有变化需要修改具体的类/对象。
业务逻辑有变化需要修改具体的类/对象。
加入新的用户级别和折扣规则时,需要重新定义新的对象,并需要重启系统。
隐式调用
独立构件之间无直接交互、不直接调用一个过程,而是触发/广播一个或多个事件,通过事件驱动的方式实现通信和协作。
解耦构件之间的依赖关系,降低耦合度,提升灵活性。
通过处理函数的并发调用,提高系统处理性能。性能较好
事件发布者将事件发布到事件总线上,事件订阅者可以异步处理这些事件,从而提高系统的并发性和性能。1.根据用户的注册兴趣,向用户推送其感兴趣的新闻内容;
2.修改代码后,触发语法高亮、语法错误提示、代码格式化
管道-过滤器
流式数据结构,数据驱动机制,处理流程事先确定,顺序或有限循环的交互方式,交互性差。
每个构件都有一组输入和输出,构件读取输入的数据流,经过内部处理产生输出数据流。
数据处理组件之间有依赖关系,前一个构件的输出作为后一个构件的输入,前后数据流关联,灵活性差。
数据与处理紧密关联,调整处理流程需要重新启动系统。
接口适配的扩展方法。
需要数据格式转换,性能降低。
支持过滤器并发调用,性能提高。
1. 数据输入某个构件,经过内部处理,产生数据输出。2. 传统的编译器包括词法分析、语法分析、语义分析、代码生成等,每个阶段产生的结果作为下一个阶段的输入。
仓库数据存储在中央仓库,处理流程独立,独立构件之间无直接交互,通过数据仓库间接交互。
独立构件对中央数据进行操作,支持交互式处理。数据与处理解耦合,可动态添加和删除处理组件。
独立构件与数据仓库进行数据适配。数据与处理分离,需要加载数据,性能降低。
数据处理组件之间一般无依赖关系,可并发调用,提高性能。语音识别、知识推理等问题复杂、解空间很大、求解过程不确定的这一类软件系统,黑板、知识源、控制。“
4、示例:管道-过滤 VS 数据仓库)比较因素分析
比较因素管道-过滤器风格数据仓储风格数据结构流式数据文件或模型控制结构数据驱动业务功能驱动交互方式顺序结构、有限循环结构独立构件之间无直接交互,通过数据仓库间接交互数据处理数据驱动机制,处理流程事先确定,交互性差。数据存储在中央仓库,处理流程独立,独立构件对中央数据进行操作,支持交互式处理。可扩展性数据与处理紧密关联,调整处理流程需要重新启动系统。数据与处理解耦合,可动态添加和删除处理组件。扩展方法接口适配与数据仓库进行数据适配处理性能需要数据格式转换,性能降低。支持过滤器并发调用,性能提高。
数据与处理分离,需要加载数据,性能降低。数据处理组件之间一般无依赖关系,可并发调用,提高性能。
99%的人还看了
相似问题
- nginx使用详解:转发规则、负载均衡、server_name
- SOME/IP 协议介绍(六)接口设计的兼容性规则
- 【IDEA 使用easyAPI、easyYapi、Apifox helper等插件时,导出接口文档缺少代码字段注释的相关内容、校验规则的解决方法】
- AI监管规则:各国为科技监管开辟了不同的道路
- Sentinel 熔断规则 (DegradeRule)
- ClickHouse 语法优化规则
- QT基础入门【QSS】样式规则、选择器类型、子控件介绍
- 华为云,阿里云,腾讯云 安全组配置规则
- 3、Sentinel 动态限流规则
- CentOS/RHEL7环境下更改网卡名称为CentOS6的传统命名规则
猜你感兴趣
版权申明
本文"【系统架构】架构风格专题":http://eshow365.cn/6-29175-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: 数据库 索引
- 下一篇: 【3ds max】给指定的面设置材质