有没有想过您想要设计多大的企业级系统? 在主要软件开发开始之前,我们必须选择合适的架构,为我们提供所需的功能和质量属性。 因此,在将不同的架构应用于我们的设计之前,我们应该了解它们。
什么是架构模式?
根据维基百科的定义:
架构模式是针对给定上下文中软件架构中反复出现的问题的通用的、可重用的解决方案。 架构模式与软件设计模式类似,但范围更广。
在本文中,将简要解释以下 10 种常见的架构模式,以及它们的用法、优点和缺点。
1. 分层模式
这种模式也称为多层架构模式。 它可用于构建可分解为子任务组的程序,每个子任务都处于特定的抽象级别。 每一层都向下一层提供更高级别的服务。
一般信息系统中最常见的是下面列出的 4 层。
使用场景:
2. 客户端-服务器模式
该模式由两部分组成:服务器和客户端。 一个服务器组件将为多个客户端组件提供服务。 客户端向服务器请求服务,服务器向这些客户端提供相关服务。 此外,服务器持续监听客户端请求。
使用场景:电子邮件、文件共享、银行等在线应用。
-
3、主从设备模式
该模式由两方组成:主设备和从设备。 主组件将工作分配给相同的从组件,并计算最终结果,这是从组件返回的结果。
使用场景:
-奴隶
4. 管道-过滤器模式
该模式可用于构建生成和处理数据流的系统。 每个处理步骤都封装在过滤器组件内。 待处理的数据通过管道传递。 这些管道可用于缓冲或同步。
使用场景:
管道-
5.代理模式
该模式用于构建具有解耦组件的分布式系统。 这些组件可以通过远程服务调用相互交互。 代理组件负责协调组件之间的通信。
服务器向代理发布其功能(服务和特征)。 客户端向代理请求服务,代理将客户端重定向到其注册表中的适当服务。
使用场景:消息代理软件,如Kafka、JBoss等
6. 点对点模式
在此模式中,各个组件称为对等组件。 对等点可以充当客户端,向其他对等点请求服务;也可以充当服务器,向其他对等点提供服务。 对等点可以充当客户端或服务器或两者,并且可以随着时间的推移动态更改其角色。
使用场景:
点对点
七、事件总线模式
该模式主要处理事件,包括4个主要组件:事件源、事件监听器、通道和事件总线。 消息源将消息发布到事件总线上的特定通道。 侦听器订阅特定频道。 听众会收到发布到他们之前订阅的频道的消息的通知。
使用场景:
事件总线
8. 模型-视图-控制器模式
该模式也称为 MVC 模式,将交互式应用程序分为 3 个部分:
这样做是为了将信息的内部表示与用户呈现和接受的方式分开。 它分离组件并允许有效的代码重用。
使用场景:
模型-视图-
9. 黑板模式
此模式对于尚未确定解决方案策略的问题非常有用。 黑板模式由 3 个主要组件组成。
所有组件都可以访问 。 组件可以生成添加到板上的新数据对象。 组件在黑板上查找特定类型的数据,并通过与现有知识源进行模式匹配来实现这一点。
使用场景:
10. 口译模式
此模式用于设计一个解释用特定语言编写的程序的组件。 它基本上指定如何评估程序行,即用特定语言编写的句子或表达式。 基本思想是对每种语言的符号进行分类。
使用场景:
架构模式比较
下表总结了每种架构模式的优缺点。
的
由于平台无法直接发送学习资料等原因,需要上述软件架构模型学习资料的朋友只需评论+转发+关注,扫描下方二维码即可免费获取PDF学习笔记和往期A合集面试问题! ! !
BAT面试题:1000+BAT面试题汇总