有没有想过如何设计大型企业级系统? 在开始开发主要软件之前,我们必须选择一个合适的架构,该架构将为我们提供所需的属性,例如功能和质量。 因此,在将不同的架构系统应用到我们的设计中之前,我们应该了解它们。
什么是架构模式?
以下内容引自维基百科
架构模式是针对特定上下文中软件架构中常见问题的通用、可重用的解决方案。 架构模式与软件设计模式类似,但它们属于更广泛的领域。
在这篇文章中,我将简要解释以下10种常见的架构模式、它们的用法、优缺点。
分层模式 客户端-服务器模式(CS模式) 主从模式 管道过滤器模式 模式(也叫代理模式) 点对点模式 事件总线模式 MVC模式(模型-视图-控制器) 黑板模式 解释器模式 1、分层模式
该模式可用于构建结构化程序,这些程序可以分解为子任务组,每个子任务都处于特定的抽象级别。 每一层都为下一个更高层提供服务。
通用信息系统的四个常见层如下:
使用
2.CS模式
该模型由两部分组成:一个服务器+多个客户端。 服务器组件向多个客户端组件提供服务。 客户端请求服务,服务器向客户端提供相应的服务。 此外,服务器不断侦听来自客户端的服务请求。
使用
3.主从模式
该模式由两部分组成:()和slave()。 主组件将工作分配给特定的从组件,并根据从组件返回的结果计算最终结果。
使用
4、管道过滤方式
该模式可用于构建生成和处理数据流的系统。 每个处理步骤都包含在一个过滤器组件中。 需要处理的数据需要通过管道传递。 这些管道可用于缓冲或同步目的。
使用
5. 经纪商模式
此模式用于使用架构组件构建的分布式系统。 这些组件可以通过远程服务调用相互交互。 代理组件负责协调组件之间的通信。 服务器向代理发布其功能(服务和特性)。 客户端向代理请求服务,代理将客户端重定向到其注册的相应服务。
使用
这里推荐一个架构学习交流的QQ群:里面会分享一些资深架构师录制的视频:包括,Netty源码分析,高并发、高性能、分布式及微服务架构原理,JVM性能优化,分布式建筑学等已成为建筑师必备的知识体系。 还可以获得免费的学习资源,到目前为止我受益匪浅!
6.点对点模式
在这个模型中,各个组件被称为对等体(Peers:具有相同身份和级别的对等体)。 Peer 既可以充当客户端向其他 Peer 请求服务,也可以充当服务器向其他 Peer 提供服务。 对等方可以充当客户端、服务器或两者,并且可以随时间动态改变其角色。
使用
7.事件总线模式
该模式主要用于处理事件,有4个主要组成部分:事件源、事件监听器、通道和事件总线。 事件源将消息发布到事件总线上的特定通道。 听众订阅特定频道。 侦听器接收发布到他们之前订阅的频道的消息。
使用
8. 模型-视图-控制器模式
这种模式也称为MVC模式,它将交互式应用程序分为三个部分。
使用
9. 黑板模式
该模型对于没有确定性解决策略的问题很有帮助。 黑板模式由 3 个主要组件组成。
所有组件都可以访问 。 组件可以生成添加到黑板上的新数据对象。 组件在黑板上查找特定类型的数据,并可以通过与现有知识源的模式匹配来找到它们。
使用
10. 口译模式
此模式用于设计解释用专门语言编写的程序的组件。 它基本上指定如何解释和执行程序代码,称为用特定语言编写的句子或表达式。 基本思想是为语言的每个符号建立一个类。
使用
架构模式对比
下表总结了各个架构模型的优缺点(表中英文不再翻译)
全文结束