几种常见的软件架构是什么?

如题所述

第1个回答  2023-03-29
10种常见软件架构模式
是否想知道大型企业级系统是怎么设计的?在软件主体开发之前,我们必须选择一个合适的架构来提供所需的功能和质量特征。所以在应用于设计之前,我们应该了解不同的架构。

什么是架构模式
维基百科:架构模式是在给定上下文的软件架构中,针对常发生问题的一种通用、复用的解决方案。架构模式类似于软件设计模式,但是范畴更广。
本文中,我将简要的阐述如下10中常见架构模式的应用和优缺点。
1. 分层模式
2. 客户端-服务端模式
3. 主从模式
4. 管道-过滤器模式
5. 代理模式
6. 点对点模式
7. 事件总线模式
8. 模型-视图-控制器模式
9. 黑板模式
10. 解释器模式

1. 分层模式
该模式用于构建可分解为多组子任务的程序,每个子任务都在某个抽象层,每个层对上一个更高层提供服务。一般信息系统中最常见的4层体系如下。

表示层(也叫 UI 层)应用层(也叫服务层)业务逻辑层(也叫领域层)数据访问层(也叫持久层) 应用场景一般桌面程序电子商务网页程序

2. 客户端-服务器模式
该模式由两部分构成:单个服务器端和多个客户端。服务器组件对多个客户端组件提供服务。客户端向服务器端请求服务,服务端提供对应服务给这些客户端。此外,服务器端继续监听客户端请求。

应用场景
在线应用,比如电子邮件、文档分享和银行业务

3. 主从模式
该模式由两部分构成:主节点和多个从节点。主节点组件向多个独立的从节点组件分派任务,并根据从节点返回结果计算出最终结果。

应用场景
数据库复制,主数据库被视为权威来源并同步到从数据库连接到计算系统的外围设备(主从驱动)

4. 管道-过滤器模式
该模式用于构建生产和处理数据流的系统。每个处理步骤封装在一个过滤器组件中。待处理的数据被传送到管道之中,这些管道可用于缓冲或者同步。

应用场景
编译器,接连的过滤器执行词义分析,语法分析,语义分析和代码生成生物资料学科的工作流

5. 代理模式
该模式用于构建组件解耦的分布式系统。这些组件通过远程调用彼此交互。代理组件负责多个组件的通信协调,服务器向代理公开他们的能力(服务和特性);客户端从代理中获取服务,然后代理重定向客户端到注册服务库中一个合适的服务。

应用场景
消息队列软件,比如 Apache ActiveMQ、Apache Kafka、RabbitMQ 和 JBoss Messaging

6. 点对点模式
该模式中,各独立组件都叫对等点。对等点既可以作为客户端从其他对等点获取服务,也可作为服务端向其他对等点提供服务。对等点可作为客户端、或者服务端、或者两者,并且在不时间动态切换角色。

应用场景
文件分享网络,比如 Gnutella 和 G2多媒体协议,比如 P2PTV 和 PDTP私媒体程序,比如 Spotify

7. 事件总线模式
该模式主要处理事件,有4个主要组件:事件源,事件监听器,频道和事件总线。事件源发布消息到事件总线上的某个频道,监听器订阅某个频道,并得知在已订阅频道中发布的消息。

应用场景
Android 开发通知服务

8. 模型-视图-控制器模式
该模式也叫 MVC 模式,划分交互程序为3个部分:模型——包含核心功能和数据,视图——显示信息给用户(多个视图可被定义),控制器——处理用户输入。它通过分割用户信息的内部陈述和呈现、接受方式来实现,解耦组件并允许高效的代码复用。

应用场景
主流编程语言的万维网程序架构网页框架,比如 Django 和 Rails

9. 黑板模式
该模式对没有确定性方案策略的问题很有用。黑板模式由三个主要组件组成,黑板——包含解空间对象的结构化全局内存,知识源——有自拥表示的专门模块,控制组件——选择、配置和执行模块。所有组件都可访问黑板,可生成新的数据对象并添加到黑板中。在黑板中,可根据已有知识源的匹配规则,寻找某些类型的数据。

应用场景
语音识别车辆识别和跟踪蛋白质结构鉴定声呐信号解释

10. 解释器模式
该模式用于设计解释特定语言编写的程序的组件。该组件主要指定怎么去评估程序代码行,也就是所谓的用某种语[标签:内容]

家电维修

专业家电师傅上门维修

¥30元起

水电维修

专业水电师傅上门服务

¥30元起

管道疏通

专业管道疏通上门服务

¥30元起

防水补漏

师傅免费上门出方案

¥0元上门

    官方电话在线客服官方服务
      官方网站官方小程序在线咨询快速预约

软件的架构有哪些
软件的架构主要有以下几种:1. 客户端-服务器架构(Client-Server Architecture)客户端-服务器架构是一种常用的软件架构模式,它将软件系统划分为两个部分:客户端和服务器端。客户端是用户交互的界面,负责处理用户的输入和输出,而服务器端则负责处理数据和业务逻辑。这种架构具有良好的扩展性和可维护性...

五种常见的软件架构
五种常见的软件架构包括:单体应用架构、微服务架构、服务导向架构(SOA)、事件驱动架构和分层架构。1. 单体应用架构:在此架构中,所有的软件功能都被集成在一个单独的应用程序中。这种架构方法的主要优点是简单性,因为所有的功能都在一个代码库中,易于开发和测试。然而,随着应用程序的增长和复杂性的...

什么是软件架构模式?
软件架构模式有以下几点:(1)管道\/过滤器模式:其典型应用包括批处理系统。(2)面向对象模式:其典型应用是基于组件的软件开发CBD。(3)事件驱动模式:其典型应用包括各种图形界面应用。(4)分层模式:其典型应用是分层通信协议,如ISO\/OSI的七层网络模型。(5)客户\/服务器模式(Client\/Server,C\/S):为了解决...

架构有哪些
软件架构是一种对软件系统的整体结构和组织方式进行描述和设计的概念。常见的软件架构包括以下几种:分层架构:这是最常见的一种软件架构模式,它将软件分成不同的层次,每个层次都有明确的职责和功能。层次间通过接口进行通信,保证了系统的可扩展性和可维护性。例如,常见的互联网应用架构就包含了表示层...

五大常用软件架构分析方案(图文+优缺对比)
4. 微服务架构 优点:高灵活性,松耦合,易于扩展和独立部署。缺点:复杂度增加,管理和维护分布式服务挑战大,通信开销可能较高。5. 云架构 优点:高扩展性,易于水平扩展,适合大规模并发。缺点:对数据一致性要求严格,内存数据易丢失,需要考虑数据持久化和中间件管理。

软件体系结构有哪些
软件体系结构有以下几种:1. 客户端-服务器架构(Client-Server Architecture)该架构将软件系统分为客户端和服务器端两个部分。客户端是用户交互的界面,负责显示信息和接收用户输入。服务器端负责处理数据和业务逻辑,以及与数据库或其他服务的交互。这种架构适用于需要集中处理数据和业务逻辑的应用。2. ...

五种常见软件架构(转载)
五种常见的软件架构简介1. 分层架构(Layered Architecture) 分层架构是标准架构,将软件分为多层,每层有明确职责,通过接口通信。常见四层结构,可能有服务层提供通用接口,用户请求逐层处理。优点是结构清晰,缺点是灵活性受限。2. 事件驱动架构(Event-Driven Architecture) 事件驱动架构通过事件...

常见的软件体系结构有哪些?
首先,分层架构是最常见的软件架构模式之一。在这种模式中,软件被划分为多个层次,每个层次都有其特定的功能和职责。典型的分层包括表示层、业务逻辑层和数据访问层。表示层负责处理用户界面和用户交互,业务逻辑层包含业务规则和逻辑处理,而数据访问层则负责与数据库或其他数据存储系统进行交互。这种架构的...

图解几种常见的软件架构模式
一般信息系统中最常见的是如下所列的4层。表示层(也称为UI层)应用层(也称为服务层)业务逻辑层(也称为领域层)数据访问层(也称为持久化层)使用场景:一般的桌面应用程序 电子商务Web应用程序 客户端-服务器模式 这种模式由两部分组成:一个服务器和多个客户端。服务器组件将为多个客户端组件提供服务...

几种常见的软件架构是什么?
什么是架构模式 维基百科:架构模式是在给定上下文的软件架构中,针对常发生问题的一种通用、复用的解决方案。架构模式类似于软件设计模式,但是范畴更广。本文中,我将简要的阐述如下10中常见架构模式的应用和优缺点。1. 分层模式 2. 客户端-服务端模式 3. 主从模式 4. 管道-过滤器模式 5. 代理模式...

相似回答
大家正在搜