五种常见的软件架构模式


目标

  • 提前计划并遵循模式或风格可以让开发人员更好地了解每个组件的职责,并让开发人员能够专注于较低级别的细节。
  • 熟悉许多软件架构模式并了解每种模式的优缺点对于选择最适合功能要求的模式至关重要,并且最终很可能会导致更好和更容易的实现。

1、层模式
层模式有助于构建可分解​​为子任务组的应用程序。
每一层都为下一个更高层提供服务。 一层中的服务是使用下一层的服务来实现的。

本质上,这种模式意味着不同的问题是分开实现的,较高抽象级别的层使用较低抽象级别的层。

2、客户端-服务器模式
在客户端-服务器模式中,一个服务器组件为多个客户端组件提供服务。
客户端组件向服务器组件请求服务。
服务器永远处于活动状态,监听客户端。


您可以将客户端-服务器模式视为分层模式的变体,跨越进程或机器边界:客户端形成较高级别,服务器形成较低级别。

3、主从模式
主从模式支持容错和并行计算。
主组件在相同的从组件之间分配工作,并根据从组件返回的结果计算最终结果。

4、管道过滤器模式
管道过滤器模式为产生数据流的系统提供了一种结构。
每个处理步骤都封装在一个过滤器组件中。数据通过管道传递。
管道可用于缓冲或同步。

5、Broker模式
Broker 模式用于构建具有解耦组件的分布式系统,这些组件通过远程服务调用进行交互。
代理组件负责协调组件之间的通信。
服务器将其功能发布到代理。
客户端向代理请求服务,然后代理将客户端从其注册中心重定向到合适的服务。
使用代理模式意味着除了代理之外没有其他组件需要关注低级别的进程间通信。