系统架构

栏目: 后端 · 发布时间: 4年前

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

一、基本概念

二、架构原则

三、常见软件架构模式

1. 分层模式

该模式用于构建可分解为多组子任务的程序,每个子任务都在某个抽象层,每个层对上一个更高层提供服务。

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

  • 表示层(也叫 UI 层)
  • 应用层(也叫服务层)
  • 业务逻辑层(也叫领域层)
  • 数据访问层(也叫持久层)

应用场景

  • 一般桌面程序
  • 电子商务网页程序
  • TCP/IP 协议栈

系统架构

2. 客户端-服务器模式

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

应用场景

  • 在线应用,比如电子邮件、文档分享和银行业务
  • 软件升级系统

系统架构

3. 主从模式

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

应用场景

  • 数据库复制,主数据库被视为权威来源并同步到从数据库
  • 连接到计算系统的外围设备(主从驱动)
  • 负载均衡系统(个人理解)

系统架构

4. 管道-过滤器模式

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

应用场景

  • 编译器,连接的过滤器执行词义分析,语法分析,语义分析和代码生成
  • 生物资料学科的工作流
  • Gstreamer、DirectMusic

系统架构

5. 代理模式

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

应用场景

  • 消息队列软件,比如 Apache ActiveMQ、Apache Kafka、RabbitMQ 和 JBoss Messaging

系统架构

6. 点对点模式

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

应用场景

  • 文件分享网络,比如 Gnutella、G2、电驴、迅雷
  • 多媒体协议,比如 P2PTV 和 PDTP
  • 私媒体程序,比如 Spotify

系统架构

7. 事件总线模式

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

应用场景

  • Android 开发
  • 通知服务
  • DBus

系统架构

模型-视图-控制器模式

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

应用场景

  • 主流编程语言的万维网程序架构
  • 网页框架,比如 Django 和 Rails
  • 最经典的莫过于 MFC

系统架构

9. 黑板模式

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

应用场景

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

系统架构

10. 解释器模式

该模式用于设计解释特定语言编写的程序的组件。该组件主要指定怎么去评估程序代码行,也就是所谓的用某种语言写的语句或者表达式,基本点在于给语言符号分类。

应用场景

  • 数据库查询语言,比如 SQL
  • 用于描述通信协议的语言

系统架构

四、参考链接


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

黑客简史:棱镜中的帝国

黑客简史:棱镜中的帝国

刘创 / 电子工业出版社 / 2015-1 / 39.80元

“黑客”,伴随着计算机和互联网而诞生,他们掌握着前沿的计算机和网络技术,能够发现并利用计算机系统和网络的弱点,他们的行为动机多样,因此我们必须对这一群体进行分解,认识他们及其技术的两面性——“黑客”中那些不断拓展技术边界、富于创造力的,和那些掌握技术、却利欲熏心的,就像硬币的两面,谁都无法清晰地辨别是非。相对于主流文化,黑客的行为方式和理念等形成了一种“亚文化”,与主流文化相互作用。一起来看看 《黑客简史:棱镜中的帝国》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

SHA 加密
SHA 加密

SHA 加密工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具