10个常见软件体系结构模式

软件开发 专栏收录该内容
2 篇文章 0 订阅

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

什么是建筑模式?

根据维基百科,

架构模式是在特定环境下软件体系结构中常见问题的通用可重用解决方案。 架构模式类似于软件设计模式,但具有更广的范围。

在本文中,我将简要地解释以下10种常见架构模式及其用法,优缺点。

  1. 分层模式
  2. 客户端 - 服务器模式
  3. 主从模式
  4. 管道过滤器模式
  5. 经纪人模式
  6. 点对点模式
  7. 事件总线模式
  8. 模型 - 视图 - 控制器模式
  9. 黑板模式
  10. 解释器模式

1.分层模式

这种模式可以用来构建可以分解为子任务组的程序,每个子任务都处于特定的抽象层次。 每层为下一个更高层提供服务。

一般信息系统最常见的4层如下。

  • 表示层 (也称为UI层 )
  • 应用程序层 (也称为服务层 )
  • 业务逻辑层 (也称为域层 )
  • 数据访问层 (也称为持久层 )

用法

  • 一般桌面应用程序
  • 电子商务Web应用程序。
分层模式

2.客户端 - 服务器模式

这种模式由两方组成; 一个服务器和多个客户端 。 服务器组件将向多个客户端组件提供服务。 客户端向服务器请求服务,服务器向这些客户端提供相关服务。 此外,服务器继续侦听客户端请求。

用法

  • 在线应用程序,如电子邮件,文件共享和银行业务
客户端 - 服务器模式

3.主从模式

这种模式由两方组成; 主人奴隶 。 主组件将工作分配给相同的从组件,并根据从组件返回的结果计算最终结果。

用法

  • 在数据库复制中,主数据库被视为权威来源,并且从属数据库与其同步。
  • 在计算机系统中连接到总线的外设(主从驱动器)。
主从模式

4.管道过滤器模式

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

用法

  • 编译器。 连续的过滤器执行词法分析,解析,语义分析和代码生成。
  • 生物信息学工作流程。
管道过滤器模式

5.经纪人模式

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

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

用法

经纪人模式

6.点对点模式

在这种模式中,单个组件被称为同级 。 同事可能既作为客户端 ,向其他同行请求服务,又作为服务器向其他同行提供服务。 对等体可以充当客户端或服务器或两者兼而有之,并且可以随着时间动态地改变其角色。

用法

点对点模式

7.事件总线模式

这种模式主要处理事件,并有四个主要组成部分; 事件源 , 事件监听器 , 通道事件总线 。 信息源将消息发布到事件总线上的特定频道。 听众订阅特定频道。 听众会收到发布到他们之前订阅的频道的消息。

用法

  • Android开发
  • 通知服务
事件总线模式

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

这种模式也称为MVC模式,将交互式应用程序分为三部分,

  1. 模型 - 包含核心功能和数据
  2. 视图 - 将信息显示给用户(可以定义多个视图)
  3. 控制器 - 处理来自用户的输入

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

用法

  • 主要编程语言的万维网应用程序体系结构。
  • Web框架,如DjangoRails 。
模型 - 视图 - 控制器模式

9.黑板模式

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

  • 黑板 - 包含来自解决方案空间的对象的结构化全局内存
  • 知识源 - 具有自己表示的专用模块
  • 控制组件 - 选择,配置和执行模块。

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

用法

  • 语音识别
  • 车辆识别和跟踪
  • 蛋白质结构鉴定
  • 声纳信号解释。
黑板模式

10.解释器模式

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

用法

  • 数据库查询语言,如SQL。
  • 用于描述通信协议的语言。
解释器模式

建筑模式的比较

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

建筑模式的比较

希望你发现这篇文章有用。

原文:https://towardsdatascience.com/10-common-software-architectural-patterns-in-a-nutshell-a0b47a1e9013

  • 8
    点赞
  • 1
    评论
  • 38
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

四六级在大学bai各类考试中占有相当du重要的地位。在大四在校签订单位的时候,绝大多zhi数公司都有英语要求:通dao过四级。真正进入社会以后,随着现在英语的普及,很多地方,很多事情,都会用到英语,具有一定的英语水平,能够让你在工作中出色不少。 大学英语四六级对毕业后求职的重要性: 关系到能不能拿到毕业证 我不敢说全国,最起码在广东,重本的211和985的名牌大学,大部分四六级证书是和毕业证挂钩的。可能还没到就业,万一你的全国英语四级考试达不到425分,你就拿不到你的毕业证书。所以四六级你说重不重要? 是一半企业的敲门砖 (1)随着大学生毕业人数的增长,社会面临的就业压力越来越大,企业为了挑选人才,国企和外企一般都会把四六级证书作为一最低的门槛。 (2)虽然说全国英语四六级证书只是一张纸,并不能证明一人的英语水平,但是四级的合格线设在425分对于国内大学生英语要求还是比较低的。所以如果你没有通过英语四级的证书,很多企业在筛选简历时就会把你直接out了。 (3)可以说如果你没有通过大学英语四六级的考试,你的前途就暗淡了一半,很多企业都不会为你敞开大门。当然,如果你有关系的话什么证书都是扯淡。 海外合作是大势所趋 (1)现在这社会,海外人员越来越多,海外合作的公司也越来越多,走在街上,说不定一天能遇到好几问路的外国人。所以如果你没有能证明你英语能力的一纸证书,你很难向公司证明你的外语水平和能力。 (2)在北上广深,就连现在的计程车司机也有一定的英语基础,否则生意就很难做下去。所以说在日常生活中,我们也有很多机会和外国人打交道,在这海外合作是大势所趋的年代,英语能力更为重要。
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值