软体体系结构是软件的基础。适当的体系结构是软件成功的一个重要因素。通常,大的软件公司都拥有专门的架构师职位,而且只有高级程序员能胜任。下面就让小编来给大家分享一下,让我们一起来看看吧。
常见的五种软件架构
分层模式用于对结构化设计的软件进行层次拆解,每个层次为独立的抽象,为其上层抽象提供服务。
系统通常被拆分为以下四个层次:
表示层(也称为 UI 层)
应用层(也称为服务层)
业务逻辑层(也称为领域层)
数据访问层(也称为持久化层)
使用场景
通用桌面应用程序
电子商务 Web 应用
客户端/服务器模式由两个部分构成:一个服务器与多个客户端。服务器组件同时为多个客户端组件提供服务。客户端向服务器发启服务请求,服务器将相应服务信息回应给客户端。此外,服务器持续监听来自客户端的请求。
使用场景
电子邮件、文件共享及银行业务等在线应用
主/从模式由两个部分构成:主设备与从设备。主服务组件将作业分发给多个从设备组件,并根据这些从设备反馈的结果,计算生成最终结果。
使用场景
数据库复制,主数据库被认定为权威数据源,各从数据库与主数据保持同步
在计算机系统中通过总线互连的各设备(包括主设备与从设备)
管道/过滤器模式用于构造用于生成及处理数据流的系统。每个处理过程都封装在过滤器(filter)组件之中,要处理的数据通过 管道(pips) 进行投递。管道同时用于作为 过滤器(filter) 间的缓冲及同步。
使用场景
编译器,一系列的过滤器用于词法分析、语法分析、语义分析及代码生成
生物信息学的工作流
代理模式用于在结构化系统中对组件解耦。系统内各组件间采用远过程调用(remote service invocations)的方式交互。代理(Broker)组件充当组件间通讯的协调角色。
提供服务的组件将其能力(服务以及特性)发布给代理,客户端均向代理请求服务,由代理将请求重定向到先前已发布过对应服务的组件进行处理。
使用场景
消息中间件软件:Apache ActiveMQ,Apache Kafka,RabbitMQ 与 JBoss 等等
对等模式中的组件称之为对等体(peer),对等体既作为向其他对等体请求服务的客户端,同时也做为响应其他对等体请求的服务端。对等体可以在运行过程中动态地改变其角色,即,既可以单独做为客户端或服务端运行,又可同时作为客户端与服务端运行。
使用场景
网络文件共享:Gnutella 与 G2)
流媒体协议:P2PTV 与 PDTP.
流媒体应用: Spotify.
首先要做的是选择合适的体系结构来指导系统的功能和质量属性设计,然后再决定软件开发。所以,在把软件体系结构应用到设计中之前,必须了解通用的体系结构模式。以上就是小编为大家分享的关于“”的全部内容啦,希望能够给大家带来帮助哦。
[免责声明]
文章标题: 常见的五种软件架构
文章内容为网站编辑整理发布,仅供学习与参考,不代表本网站赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请及时沟通。发送邮件至36dianping@36kr.com,我们会在3个工作日内处理。