图解几种常见的软件架构模式

本篇经验将和大家介绍几种常见的软件架构模式,希望对大家的工作和学习有所帮助!方法 步骤分层模式这种模式也称为多层体系架构模式。它可

第1个回答  2020-09-29

本篇经验将和大家介绍几种常见的软件架构模式,希望对大家的工作和学习有所帮助!

方法/步骤

分层模式

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

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

表示层(也称为UI层)

应用层(也称为服务层)

业务逻辑层(也称为领域层)

数据访问层(也称为持久化层)

使用场景:

一般的桌面应用程序

电子商务Web应用程序

客户端-服务器模式

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

使用场景:

电子邮件,文件共享和银行等在线应用程序

主从设备模式

这种模式由两方组成;主设备和从设备。主设备组件在相同的从设备组件中分配工作,并计算最终结果,这些结果是由从设备返回的结果。

使用场景:

在数据库复制中,主数据库被认为是权威的来源,并且要与之同步

在计算机系统中与总线连接的外围设备(主和从驱动器)

管道-过滤器模式

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

使用场景:

编译器。连续的过滤器执行词法分析、解析、语义分析和代码生成

生物信息学的工作流

代理模式

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

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

使用场景:

消息代理软件,如Apache ActiveMQ,Apache Kafka,RabbitMQ和JBoss Messaging

点对点模式

在这种模式中,单个组件被称为对等点。对等点可以作为客户端,从其他对等点请求服务,作为服务器,为其他对等点提供服务。对等点可以充当客户端或服务器或两者的角色,并且可以随时间动态地更改其角色。

使用场景:

像Gnutella和G2这样的文件共享网络

多媒体协议,如P2PTV和PDTP

像Spotify这样的专有多媒体应用程序

事件总线模式

这种模式主要是处理事件,包括4个主要组件:事件源、事件监听器、通道和事件总线。消息源将消息发布到事件总线上的特定通道上。侦听器订阅特定的通道。侦听器会被通知消息,这些消息被发布到它们之前订阅的一个通道上。

使用场景:

安卓开发

通知服务

模型-视图-控制器模式

这种模式,也称为MVC模式,把一个交互式应用程序划分为3个部分,

模型:包含核心功能和数据

视图:将信息显示给用户(可以定义多个视图)

控制器:处理用户输入的信息

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

使用场景:

在主要编程语言中互联网应用程序的体系架构

像Django和Rails这样的Web框架

黑板模式

这种模式对于没有确定解决方案策略的问题是有用的。黑板模式由3个主要组成部分组成。

黑板——包含来自解决方案空间的对象的结构化全局内存

知识源——专门的模块和它们自己的表示

控制组件——选择、配置和执行模块

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

使用场景:

语音识别

车辆识别和跟踪

蛋白质结构识别

声纳信号的解释

解释器模式

这个模式用于设计一个解释用专用语言编写的程序的组件。它主要指定如何评估程序的行数,即以特定的语言编写的句子或表达式。其基本思想是为每种语言的符号都有一个分类。

使用场景:

数据库查询语言,比如SQL

用于描述通信协议的语言

图解几种常见的软件架构模式
事件总线模式 这种模式主要是处理事件,包括4个主要组件:事件源、事件监听器、通道和事件总线。消息源将消息发布到事件总线上的特定通道上。侦听器订阅特定的通道。侦听器会被通知消息,这些消息被发布到它们之前订阅的一个通道上。使用场景:安卓开发 通知服务 模型-视图-控制器模式 这种模式,也称为MVC...

几种常见的软件架构是什么?
该模式也叫 MVC 模式,划分交互程序为3个部分:模型——包含核心功能和数据,视图——显示信息给用户(多个视图可被定义),控制器——处理用户输入。它通过分割用户信息的内部陈述和呈现、接受方式来实现,解耦组件并允许高效的代码复用。应用场景 主流编程语言的万维网程序架构网页框架,比如 Django 和 Ra...

常见的五种软件架构
常见的软件架构模式有:1. 分层架构(Layered Architecture)这是一种基础架构,将软件划分为多层,每层明确其功能和职责,通过接口隔离。通常四层结构常见,包括逻辑层、持久层、服务层和用户接口层。优点在于结构清晰,但缺点是过于严格,可能限制灵活性。2. 事件驱动架构(Event-Driven Architecture)基于...

常见的软件架构有哪些?
常见的软件架构包括单体架构、面向服务架构(SOA)、微服务架构和云原生架构。单体架构将所有业务逻辑和控制逻辑集成在一个程序中,简化了开发、测试和发布流程,但一旦某个模块出现问题,整个系统将受到影响,且对特定模块进行性能提升的难度较大。面向服务架构(SOA)通过垂直拆分业务系统,将不同功能模块独立...

一文看懂软件架构
常见的软件架构模式包括分层架构、事件驱动架构、MVC架构和微服务架构。分层架构如四层结构,通过分隔职责降低系统复杂度,但可能限制扩展性。事件驱动架构利用发布\/订阅模型处理异步通信,适用于大规模应用。MVC架构通过模型、视图和控制器分离,提高代码重用和灵活性,但可能导致结构复杂和视图与控制器依赖过强...

有哪些架构
常见的架构包括:客户端-服务器架构、分布式架构、微服务架构、云架构等。一、客户端-服务器架构 客户端-服务器架构是最常见的网络架构之一。在这种架构中,服务器负责处理数据和请求,而客户端则负责用户的交互界面。用户通过客户端软件发送请求到服务器,服务器处理请求后返回结果。这种架构适用于大量用户...

架构模式有哪些
MVC(Model-View-Controller)架构模式是一种常用的软件架构模式,尤其在GUI编程中。它将应用的逻辑划分为三个主要部分:模型、视图和控制器。模型负责数据处理,视图负责数据显示,控制器负责处理用户交互。这种模式有助于实现代码的模块化和复用,提高了代码的可维护性。以上是常见的几种架构模式。每种模...

程序员必会的 7 种软件架构模式
分层架构模式是最常见的架构模式之一,广泛应用于大多数软件架构设计中。分层架构通常包括展现层、业务层、持久层和数据库层,将软件分割成多个独立的层,每个层提供一组服务并遵循单向使用原则。这种方式有助于实现关注点分离,提高系统的可移植性、可修改性和复用性,但也存在性能下降和增加系统前期成本和...

软件框架有哪些
MVC是一种常用的软件框架模式,尤其在Web开发领域。它将应用程序分为三个主要组成部分:模型、视图和控制器。Model负责数据处理,View负责数据显示,Controller负责用户交互和逻辑处理。这种模式有助于代码的组织和模块化,提高了代码的可维护性和可重用性。二、三层架构框架 三层架构是一种常见的软件框架,...

常见的软件体系结构有哪些?
常见的软件体系结构主要包括分层架构、微服务架构、事件驱动架构、客户端-服务器架构和模型-视图-控制器架构。首先,分层架构是最常见的软件架构模式之一。在这种模式中,软件被划分为多个层次,每个层次都有其特定的功能和职责。典型的分层包括表示层、业务逻辑层和数据访问层。表示层负责处理用户界面和用户...

相似回答
大家正在搜