两颗西柚|10个常见的软件架构模式

文章图片
转自:VijiniMallawaarachchi
想知道如何设计大型企业级的系统吗?在开始主要的代码开发之前 , 我们必须选择一种合适的体系架构 , 它将为我们提供所需的功能和质量属性 。 因此 , 在将它们应用到我们的设计之前 , 应该先了解不同的体系结构 。

文章图片
什么是架构模式
根据维基百科 ,
架构模式是在给定上下文中解决软件架构中常见问题的通用、可重用的解决方案 。 架构模式类似于软件设计模式 , 但范围更广 。
在本文中 , 我会简单介绍下列10种常见的架构模式 , 及其用途、优势和劣势 。
分层模式
该模式可用于构建可分解为子任务组的程序 , 其中每个都处于特定的抽象级别 。 每一次都向更高层提供服务 。
一般信息系统中最常见的4层划分如下:
Presentationlayer表示层(也就是UI层)
Applicationlayer应用层(也就是服务层)
Businesslogiclayer业务逻辑层(也就是领域层)
Dataaccesslayer数据访问层(也就是数据持久层)
应用
一般桌面应用程序
电子商务Web应用程序

文章图片
客户端-服务器模式
该模式由两部分组成:一个服务端和多个客户端 , 服务器向多个客户端提供服务 。 客户端向服务器发起请求 , 服务器向这些客户端提供相关服务 , 之后 , 服务器继续侦听客户端的请求 。
在线应用程序 , 如电子邮件、文件共享和银行业务等

文章图片
主从模式
该模式也分为两块:主模块和从模块 。 主模块在相同的从模块之间分配工作 , 并根据从模块返回的结构来计算最终的结果 。
在数据库复制中 , 主数据库被视作权威数据源 , 而从数据库与其保持同步
连接到计算机系统总线上的外围设备(主驱动器和从驱动器)

文章图片
管道过滤模式
此模式可用于构建产生和处理数据流的系统 。 每个处理步骤都包含在一个过滤器组件中 , 要处理的数据通过管道传递 。 这些管道可用于缓冲或者同步 。
编译器 。 依次使用不同的过滤器执行词法分析、解析、语法分析和代码生成
生物信息学中的工作流程

文章图片
Broker模式
此模式是使用解耦的组件构建分布式系统 , 这些组件可以通过远程服务调用实现交互 。 代理组件负责协调组件之间的通信 。
服务器将它们的功能(服务和特征等)发布到代理 , 客户端向代理请求服务 , 然后代理根据其注册表将客户端请求转发给合适的服务 。
消息代理软件 , 如ApacheActiveMQ,ApacheKafka,RabbitMQ和JBossMessaging.

文章图片
P2P模式
在此模式中 , 每个独立的组件被称为对等点(或对等端 , peer) 。 对等端既可以充当客户端(向其它对等端请求服务) , 又可以充当服务器(向其它对等方提供服务) 。 同一个对等端可能既是客户端 , 又是服务器 , 并且可以动态改变其角色 。
文件共享网络 , 如Gnutella和G2
多媒体协议 , 如P2PTV和PDTP
基于加密货币的产品 , 如比特币和区块链

推荐阅读
- 苹果iOS 14升级这么久,这10个隐藏功能你未必全知道
- 跨境电商助力外贸克难前行 今年前10个月兰州市实现跨境电商进出口额3.26亿元
- 电动车半导体体系及概念股一览
- 精心整理:10个你不知道的iPhone相机隐藏技巧,很实用
- 麻烦大了?美国10个州联手对谷歌提起诉讼,指控其违反反垄断法
- 10个不容易被人工智能取代的工作
- 在线教育有多“热”?今年前10个月我国新增8.2万家在线教育企业
- 这些bug你遇到过几个?盘点10个常见安全测试漏洞及修复建议
- 13个根服务器,有10个在美国,假如美关闭服务,我们会断网吗
- 一加9工程机结构图曝光:两颗大底主摄镜头稳了
