推广 热搜: csgo  vue  angelababy  2023  gps  新车  htc  落地  app  p2p 

Java后端10种常见的软件架构模式,你知道多少?

   2023-08-12 网络整理佚名2280
核心提示:因此,在将它们应用到我们的设计之前,我们应该了解不同的体系结构。架构模式与软件设计模式类似,但具有更广泛的范围。在本文中,将简要地解释以下10种常见的体系架构模式,以及它们的用法、优缺点。一般信息系统中最常见的是如下所列的4层。这种模式,也称为MVC模式,把一个交互式应用程序划分为3个部分:这个模式用于设计一个解释用专用语言编写的程序的组件。下面给出的表格总结了每种体系架构模式的优缺点。

有没有想过您想要设计多大的企业级系统? 在主要软件开发开始之前,我们必须选择合适的架构,为我们提供所需的功能和质量属性。 因此,在将不同的架构应用于我们的设计之前,我们应该了解它们。

什么是架构模式

根据维基百科的定义:

架构模式是针对给定上下文中软件架构中反复出现的问题的通用的、可重用的解决方案。 架构模式与软件设计模式类似,但范围更广。

在本文中,将简要解释以下 10 种常见的架构模式,以及它们的用法、优点和缺点。

1. 分层模式

这种模式也称为多层架构模式。 它可用于构建可分解​​为子任务组的程序,每个子任务都处于特定的抽象级别。 每一层都向下一层提供更高级别的服务。

一般信息系统中最常见的是下面列出的 4 层。

使用场景:

2. 客户端-服务器模式

该模式由两部分组成:服务器和客户端。 一个服务器组件将为多个客户端组件提供服务。 客户端向服务器请求服务,服务器向这些客户端提供相关服务。 此外,服务器持续监听客户端请求。

使用场景:电子邮件、文件共享、银行等在线应用。

-

3、主从设备模式

该模式由两方组成:主设备和从设备。 主组件将工作分配给相同的从组件,并计算最终结果,这是从组件返回的结果。

使用场景:

-奴隶

4. 管道-过滤器模式

该模式可用于构建生成和处理数据流的系统。 每个处理步骤都封装在过滤器组件内。 待处理的数据通过管道传递。 这些管道可用于缓冲或同步。

使用场景:

管道-

5.代理模式

该模式用于构建具有解耦组件的分布式系统。 这些组件可以通过远程服务调用相互交互。 代理组件负责协调组件之间的通信。

服务器向代理发布其功能(服务和特征)。 客户端向代理请求服务,代理将客户端重定向到其注册表中的适当服务。

使用场景:消息代理软件,如Kafka、JBoss等

6. 点对点模式

在此模式中,各个组件称为对等组件。 对等点可以充当客户端,向其他对等点请求服务;也可以充当服务器,向其他对等点提供服务。 对等点可以充当客户端或服务器或两者,并且可以随着时间的推移动态更改其角色。

使用场景:

点对点

七、事件总线模式

该模式主要处理事件,包括4个主要组件:事件源、事件监听器、通道和事件总线。 消息源将消息发布到事件总线上的特定通道。 侦听器订阅特定频道。 听众会收到发布到他们之前订阅的频道的消息的通知。

使用场景:

事件总线

8. 模型-视图-控制器模式

该模式也称为 MVC 模式,将交互式应用程序分为 3 个部分:

这样做是为了将信息的内部表示与用户呈现和接受的方式分开。 它分离组件并允许有效的代码重用。

使用场景:

模型-视图-

9. 黑板模式

此模式对于尚未确定解决方案策略的问题非常有用。 黑板模式由 3 个主要组件组成。

所有组件都可以访问 。 组件可以生成添加到板上的新数据对象。 组件在黑板上查找特定类型的数据,并通过与现有知识源进行模式匹配来实现这一点。

使用场景:

10. 口译模式

此模式用于设计一个解释用特定语言编写的程序的组件。 它基本上指定如何评估程序行,即用特定语言编写的句子或表达式。 基本思想是对每种语言的符号进行分类。

使用场景:

架构模式比较

下表总结了每种架构模式的优缺点。

由于平台无法直接发送学习资料等原因,需要上述软件架构模型学习资料的朋友只需评论+转发+关注,扫描下方二维码即可免费获取PDF学习笔记和往期A合集面试问题! ! !

BAT面试题:1000+BAT面试题汇总

 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报
Powered By DESTOON