什么是架构模式:
根据维基百科,架构模式是在给定上下文中解决软件架构中常见问题的通用,可重用的解决方案,架构模式类似于软件设计模式,但范围更广

分层模式:
该模式可用于构建可分解为子任务组的程序,其中每个都处于特定的抽象级别,每一次都向更高层提供服务
一般信息系统中常见的4层划分如下:
1、Presentation layer表示层(也就是UI层)
2、Application layer应用层(也就是服务层)
3、Business logic layer业务逻辑层(也就是领域层)
4、Data access layer数据访问层(也就是数据持久层)
应用:
一般桌面应用程序
电子商务Web应用程序

客服端-服务器模式:
该模式由两部分组成,一个服务端和多个客户端,服务器向多个客户端提供服务,客户端服务发起服务,服务器向这些客户端提供相关服务,之后,服务器继续侦听客户端的请求

应用:
在线应用程序,如电子邮件、文件共享和银行业务等
TCP/IP
Client---->Service

主从模式:
该模式也分为两块:主模块和从模块,主模块在相同的从模式之间分配工作,并根据从模块返回的结构来计算最终的结果

应用:
在数据库复制中,主数据库被视作权威数据源,从而数据库与其保持同步
连接到计算机系统总线上的外围设备(主驱动器和从驱动器)

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

Broker模式:
此模式是使用解耦的组件构建分析系统,这些组件可以通过远程服务调用实现交互,代理组件负责协调组件之间的通信
服务器将它们的功能(服务和特性等)发布到代理,客户端想代理请求服务,然后代理根据其注册表将客户端请求发给合适的服务
应用:
消息代理软件:如Apache ActiveMQ、Apache Kafka、RabbitMQ和JBoss Messaging

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

事务总线模式
该模式主要处理组件,有4个重要的组件,事件源,事件侦听器将消息发送到事件总线上的特定通道,侦听器会订阅特定的频道中后,订阅该频道的侦听器会收到该消息的通知。
应用:
安卓开发
通知服务

MVC模式:
该模式将交互式应用分为三个部分:
1、模型-包含核心功能和数据
2、试图-向用户显示信息(可以定义多个视图)
3、控制器-处理用户的输入
这样是为了将数据的内部表示与用户输入和向用户展示的形式分离出来,这样可以解耦组件,同时也可以进行高效的代码重用
应用:
主流编程语言的互联网应用程序
网络框架,如Django和Rails

解释器模式:
此模式通常用于设计组件来解释使用专用语言写出的程序,它主要指定如何估算程序行,即以特定语言编写的语句或表达式,基本思想是为每种语言符号都涉及一个类