当前位置: 首页 > news >正文

谦卑对象设计模式

谦卑设计模式介绍

“谦卑”在这里是拟人化的,指难以测试的对象清晰地认识到自己的局限性,只发挥自己的桥梁和通信作用,并不从中干预信息的传输。

谦卑对象模式‘最初的设计目的是帮助单元测试的编写者区分容易测试的行为与难以测试的行为,并将它们隔离。其设计思路非常简单,就是将这两类行为拆分成两组模块或类。

  • 其中一组模块被称为谦卑(Humble)组,包含了系统中所有难以测试的行为,而这些行为已经被简化到不能再简化了。
    • 具体实践中, 复杂行为可以通过函数传入进来
  • 另一组模块则包含了所有不属于谦卑对象的行为。

常见场景

谦卑对象设计模式常见于 易测试代码和不易测试代码之间。

  • GUI开发里面的 有谦卑对象
  • 数据库开发里面 接口层是谦卑对象

分隔难测和容易测的部分

跨边界的通信肯定需要用到某种简单的数据结构,而边界会自然而然地将系统分割成难以测试的部分与容易测试的部分。
所以通过在系统的边界处运用谦卑对象模式,我们可以大幅地提高整个系统的可测试性。

应用场景

MVP 的P层

视图部分属于难以测试的谦卑对象 。
这种对象的代码通常应该越简单越好,它只应负责将数据填充到G U I上,而不应该对数据进行任何处理。

数据库 网关

  • mybatis实现

跨服务通信

  • 网络层 Http请求 协议层 需要越简单越好。
http://www.lryc.cn/news/21110.html

相关文章:

  • QML Animation动画详解
  • C#开发的OpenRA的加载界面边框的细节
  • 计算机网络笔记、面试八股(四)—— TCP连接
  • Centos7 安装jenkins java1.8版本
  • 【每日阅读】JS知识(三)
  • Vue(6)
  • Neo4j列表函数
  • 55. 跳跃游戏
  • typedef在c语言中的作用
  • 计算机网络体系结构及分层参考模型
  • LLVM程序分析与编译转换框架论文分享
  • 《程序员思维修炼》速读笔记
  • 【Hello Linux】进程概念
  • Bunifu.UI.WinForms 6.0.2 Crack
  • 学习 Python 之 Pygame 开发魂斗罗(五)
  • LeetCode 104. 二叉树的最大深度
  • pandas 中如何按行或列的值对数据排序?
  • 「牛客网C」初学者入门训练BC139,BC158
  • 【深度学习】线性回归、逻辑回归、二分类,多分类等基础知识总结
  • 【MySQL】调控 字符集
  • FME+YOLOV7写DNF自动刷图脚本
  • Java语法面试题
  • location
  • 简述RBAC模型
  • 倒计时2天:中国工程院院士谭建荣等嘉宾确认出席,“警务+”时代来临...
  • Python蓝桥杯训练:基本数据结构 [哈希表]
  • MacOS 配置 Fvm环境
  • Python小白入门- 01( 第一章,第1节) 介绍 Python 编程语言
  • 高并发系统设计之缓存
  • 【N32WB03x SDK使用指南】