几种常见的软件架构是什么
10种常见软件架构模式
是否想知道大型企业级系统是怎么设计的?在软件主体开发之前,我们必须选择一个合适的架构来提供所需的功能和质量特征。所以在应用于设计之前,我们应该了解不同的架构。
什么是架构模式
维基百科:架构模式是在给定上下文的软件架构中,针对常发生问题的一种通用、复用的解决方案。架构模式类似于软件设计模式,但是范畴更广。
本文中,我将简要的阐述如下10中常见架构模式的应用和优缺点。
1. 分层模式
2. 客户端-服务端模式
3. 主从模式
4. 管道-过滤器模式
5. 代理模式
6. 点对点模式
7. 事件总线模式
8. 模型-视图-控制器模式
9. 黑板模式
10. 解释器模式
1. 分层模式
该模式用于构建可分解为多组子任务的程序,每个子任务都在某个抽象层,每个层对上一个更高层提供服务。一般信息系统中最常见的4层体系如下。
表示层(也叫 UI 层)应用层(也叫服务层)业务逻辑层(也叫领域层)数据访问层(也叫持久层) 应用场景一般桌面程序电子商务网页程序
2. 客户端-服务器模式
该模式由两部分构成:单个服务器端和多个客户端。服务器组件对多个客户端组件提供服务。客户端向服务器端请求服务,服务端提供对应服务给这些客户端。此外,服务器端继续监听客户端请求。
应用场景
在线应用,比如电子邮件、文档分享和银行业务
3. 主从模式
该模式由两部分构成:主节点和多个从节点。主节点组件向多个独立的从节点组件分派任务,并根据从节点返回结果计算出最终结果。
应用场景
数据库复制,主数据库被视为权威来源并同步到从数据库连接到计算系统的外围设备(主从驱动)
4. 管道-过滤器模式
该模式用于构建生产和处理数据流的系统。每个处理步骤封装在一个过滤器组件中。待处理的数据被传送到管道之中,这些管道可用于缓冲或者同步。
应用场景
编译器,接连的过滤器执行词义分析,语法分析,语义分析和代码生成生物资料学科的工作流
5. 代理模式
该模式用于构建组件解耦的分布式系统。这些组件通过远程调用彼此交互。代理组件负责多个组件的通信协调,服务器向代理公开他们的能力(服务和特性);客户端从代理中获取服务,然后代理重定向客户端到注册服务库中一个合适的服务。
应用场景
消息队列软件,比如 Apache ActiveMQ、Apache Kafka、RabbitMQ 和 JBoss Messaging
6. 点对点模式
该模式中,各独立组件都叫对等点。对等点既可以作为客户端从其他对等点获取服务,也可作为服务端向其他对等点提供服务。对等点可作为客户端、或者服务端、或者两者,并且在不时间动态切换角色。
应用场景
文件分享网络,比如 Gnutella 和 G2多媒体协议,比如 P2PTV 和 PDTP私媒体程序,比如 Spotify
7. 事件总线模式
该模式主要处理事件,有4个主要组件:事件源,事件监听器,频道和事件总线。事件源发布消息到事件总线上的某个频道,监听器订阅某个频道,并得知在已订阅频道中发布的消息。
应用场景
Android 开发通知服务
8. 模型-视图-控制器模式
该模式也叫 MVC 模式,划分交互程序为3个部分:模型——包含核心功能和数据,视图——显示信息给用户(多个视图可被定义),控制器——处理用户输入。它通过分割用户信息的内部陈述和呈现、接受方式来实现,解耦组件并允许高效的代码复用。
应用场景
主流编程语言的万维网程序架构网页框架,比如 Django 和 Rails
9. 黑板模式
该模式对没有确定性方案策略的问题很有用。黑板模式由三个主要组件组成,黑板——包含解空间对象的结构化全局内存,知识源——有自拥表示的专门模块,控制组件——选择、配置和执行模块。所有组件都可访问黑板,可生成新的数据对象并添加到黑板中。在黑板中,可根据已有知识源的匹配规则,寻找某些类型的数据。
应用场景
语音识别车辆识别和跟踪蛋白质结构鉴定声呐信号解释
10. 解释器模式
该模式用于设计解释特定语言编写的程序的组件。该组件主要指定怎么去评估程序代码行,也就是所谓的用某种语[标签:内容]
多重随机标签
天津seo服务商有哪些 长沙找工作一般那些网站好啊 潍州经济建设 excel怎么同时跨行跨列删除表格 咨询公司成本有哪些 名片尺寸是多少像素 宝宝服装品牌排行榜前十名 永久免费的看书神器app有哪些 19216821怎样进入管理页面 论述一下系统在运行中的创新要涉及到哪些方面 0元注册公司在校大学生应该如何创业 青岛海神品牌策划有限公司怎么样 经典安全夜祝愿语 重庆论坛最成都论坛与沿海城市论坛的最大区别在哪里 致臻鑫星北京创意设计有限公司怎么样 宁波欣达集团有限公司企业简介 赣州各地精简开发区机构副厅级降格为正处撤销10家机构 653国家建筑工程网上能查到的工业与民用建筑一级建造师证有用吗 杭州有哪些家具企业 如何测试线路 泰伦斯罗斯的nba球员模板是谁 dw超级衔接里面的目标都是什么意识 肇庆市羽墨文化传媒有限公司怎么样 现代设计方法有哪些 如何制作漫画作品 快捷键都有什么 朽山和单贝是一个公司吗 宜兴市景河建设有限公司怎么样 淘金云干了一天不干了可以吗 昆明云天化纽米科技有限公司关于昆明云天化纽米科技有限公司的简介