IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 架构设计资料(持续更新) -> 正文阅读

[开发测试]架构设计资料(持续更新)

架构设计资料(持续更新)

架构模式

  • Layered Architecture 分层架构模式
  • Multi-Tier 多层模式
  • Pipe and Filter 管道与过滤器模式
  • Client Server 客户端/服务器架构模式
  • Model View Controller MVC模式
  • Event Driven Architecture 事件驱动架构模式
  • Microservices Architecture 微服务架构模式

Layered Architecture 分层架构模式

模式:

  • Presentation Layer
  • Business Layer
  • Persistence Layer
  • Database Layer

在DDD分层架构中,将Business Layer再分为:

  • Application Service Layer 业务服务层
  • Domain Service Layer 领域服务层

优点:

  • 容易理解,被广泛使用
  • 层与层之间相互解耦,可以独立演进

缺点:

  • 分层导致性能损失

适用场景:

  • 小型、简单的应用程序或网站
  • 快速开发

Multi-Tier 多层模式

模式:

  • 和分层架构模式类似

优点:

  • 和分层架构一致

缺点:

  • 前期成本较大
  • 复杂

适用场景:

  • 分布式系统

Pipe and Filter 管道与过滤器模式

模式:

  • Input:输入
  • Process:处理过程
  • Output:输入

处理过程的过滤器包括:

  • Producer (source): 流程的起点
  • Transformer (map):数据转换
  • Tester (reduce):测试
  • Consumer (sink):终点

优点:

  • 处理过程的环节可重用,松耦合

缺点:

  • 处理过程环节过多时,会增加复杂性,并降低性能

适用场景:

  • 简单单向处理的任务 (比如CI/CD流水线、函数计算、网关Filter,数据预处理等)

Client Server 客户端/服务器架构模式

模式:

  • 客户端向服务器发送请求,然后等待回复。
  • 服务器接收客户端的请求并向其发送回复。

优点:

  • 简单,广泛使用
  • “拉”式架构

缺点:

  • 服务器可能是性能瓶颈和单点故障 (可通过负载均衡和集群解决)
  • 不适合“推”式架构

适用场景:

  • Web应用

MVC模式

模式:

  • Model: 模型,包含应用的数据
  • View:视图,展示数据,并与用户交互
  • Controller:控制器,协调模型和视图。

优点:

  • 简单,广泛使用
  • 现代的MVC模式已经和前后端分离模式结合使用

缺点:

  • 依赖于特定MVC开发框架

适用场景:

  • Web应用

Event Driven Architecture 事件驱动架构模式

模式:

  • 发布者:发布事件
  • 订阅者:读取事件,并进行处理

优点:

  • 解耦发布者与订阅者

缺点:

  • 需要额外作异常处理
  • 实时性比客户端/服务器模式差一些

适用场景:

  • 大型分布式系统

Microservices Architecture 微服务架构模式

模式:

  • 将单体应用程序分成多个微服务

优点:

  • 高内聚、低耦合

缺点:

  • 需要有相应的微服务开发框架、微服务治理组件、容器平台、ServicMesh等支持

适用场景:

  • 复杂业务系统

数据一致性设计

复杂系统的数据一致性设计考虑:

应用弹性设计

复杂系统的应用的弹性设计:

参考文档

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-09-01 12:14:13  更:2021-09-01 12:15:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/15 3:15:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码