温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

常见的软件架构模式有哪些

发布时间:2021-10-13 16:03:53 来源:亿速云 阅读:147 作者:iii 栏目:编程语言

本篇内容介绍了“常见的软件架构模式有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

想知道如何设计大型企业级的系统吗?在开始主要的代码开发之前,我们必须选择一种合适的体系架构,它将为我们提供所需的功能和质量属性。因此,在将它们应用到我们的设计之前,应该先了解不同的体系结构。

常见的软件架构模式有哪些

什么是架构模式

根据维基百科,

架构模式是在给定上下文中解决软件架构中常见问题的通用、可重用的解决方案。架构模式类似于软件设计模式,但范围更广。
在本文中,我会简单介绍下列10种常见的架构模式,及其用途、优势和劣势。
分层模式

该模式可用于构建可分解为子任务组的程序,其中每个都处于特定的抽象级别。每一次都向更高层提供服务。
一般信息系统中最常见的4层划分如下:

  • Presentation layer 表示层(也就是UI层)

  • Application layer 应用层(也就是服务层)

  • Business logic layer 业务逻辑层(也就是领域层)

  • Data access layer 数据访问层(也就是数据持久层)
    应用

  • 一般桌面应用程序

  • 电子商务Web应用程序

常见的软件架构模式有哪些常见的软件架构模式有哪些常见的软件架构模式有哪些

管道过滤模式

此模式可用于构建产生和处理数据流的系统。每个处理步骤都包含在一个过滤器组件中,要处理的数据通过管道传递。这些管道可用于缓冲或者同步。
应用

  • 编译器。依次使用不同的过滤器执行词法分析、解析、语法分析和代码生成

  • 生物信息学中的工作流程
    常见的软件架构模式有哪些

    Broker模式

    此模式是使用解耦的组件构建分布式系统,这些组件可以通过远程服务调用实现交互。代理组件负责协调组件之间的通信。
    服务器将它们的功能(服务和特征等)发布到代理,客户端向代理请求服务,然后代理根据其注册表将客户端请求转发给合适的服务。
    应用

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

    常见的软件架构模式有哪些

    事物总线模式

    该模式主要处理组件,有4个重要的组件:事件源、事件侦听器、通道和事件总线。事件源将消息发送到事件总线上的特定通道,侦听器会订阅特定的频道。当消息发送到频道中后,订阅该频道的侦听器会收到该消息的通知。
    应用

    • 安卓开发

    • 通知服务

    常见的软件架构模式有哪些

    黑板模式

    此模式对于尚无确定性解决方案的问题很有用,黑板模式由三部分组成:

    • 黑板—— 一个结构化的全局内存,包含解决方案领域的对象

    • 知识源——具有自身含义的专业模块

    • 控制组件——选择、配置和执行模块
      所有组件都可以访问黑板,组件可能会产生要添加到黑板中的新数据对象,组件在黑板上寻找特定类型的数据,并且可以通过与现有知识源进行模式匹配来找到这些数据。
      应用

    • 语音识别

    • 车辆识别与跟踪

    • 蛋白质结构鉴定

    • 声呐信号解释
       

    常见的软件架构模式有哪些

    解释器模式

    此模式通常用于设计组件来解释使用专用语言写出的程序,它主要指定如何估算程序行,即以特定语言编写的语句或表达式。基本思想是为每种语言符号都设计一个类。
    应用

    • 数据库查询语言,如SQL

    • 用于描述通信协议的语言

    常见的软件架构模式有哪些

    架构模式对比

    常见的软件架构模式有哪些
    常见的软件架构模式有哪些常见的软件架构模式有哪些

    常见的软件架构模式有哪些

    “常见的软件架构模式有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI