[精通Python设计模式]笔记

文章目录

设计模式(python)

1、工厂模式

1.1、简单描述

每个工厂方法对外提供一致的API,新增工厂方法后,工厂的使用者无需更改代码。

1.2、应用场景

  1. 想要追踪对象的创建时
  2. 想要将对象的创建与使用解耦时
  3. 想要优化应用的性能和资源占用时

2、建造者模式

2.1、简单描述

分为指挥者、建造者:

  1. 指挥者:指挥建造者
  2. 建造者:分步骤逐步建造复杂类

2.2、应用场景:

  1. 创建一个复杂对象,对象由多个部分构成,且对象的创建要经过多个不同的步骤,,这些步骤也许还需遵从特定的顺序
  2. 想要将对象的构造与表现解耦
  3. 某个时间点创建对象,但在稍后的时间点再访问

3、原型模式

3.1、简单描述

基于现有的类进行深拷贝+部分属性的修改

3.2、应用场景

  1. 对一个副本进行更改而不会影响其他对象

4、适配器模式

4.1、简单描述

旧的API的输出不符合新任务场景,通过在旧API基础上再次包装,使得API能输出新任务场景需要的数据。类似USB转TypeC的转接线一样

4.2、应用场景

  1. 让一件产品在制造出来之后需要应对新需求之时还能工作
  2. 满足开放/封闭原则(对软件扩展是开放的,修改则是封闭的)
相关推荐
咖啡八杯8 小时前
GoF设计模式——中介者模式
java·后端·spring·设计模式
胡萝卜术21 小时前
从“分数打架”到“排名投票”:为什么你的ChatBI必须用RRF?
算法·设计模式·面试
亦暖筑序2 天前
Java 8老系统Browser Agent实战:三层拦截把AI操作后台变成可审计流程
java·后端·设计模式
RainCity2 天前
Java Swing 自定义组件库分享(十二)
java·笔记·后端
青禾网络4 天前
Web 前端如何接入 AI 音效生成:从零到可用的完整方案
人工智能·设计模式
ZJPRENO5 天前
吃透软件开发六大设计原则,告别烂代码
设计模式
咖啡八杯5 天前
GoF设计模式——命令模式
java·设计模式·架构
花椒技术6 天前
HJPusher / HJPlayer SDK 实践:我们为什么把直播推播链路拆成一套可复用能力
设计模式·harmonyos·直播
艺艺生辉6 天前
迭代器模式-"我也想被增强for循环"
设计模式