-
装饰者模式详解(Python版)| 设计模式教程
装饰者模式详解 - Python版本 1️⃣ 概念 定义:在不改变原有对象的基础上,将功能附加到对象上;提供了比继承更有弹性的替代方案(扩展原有对象功能)。 类型:结构性 2️⃣ 适用场景 扩展一个类的功能或者给一个类添加附加职责 动态的给一个对象添加功能,这些功能可以在动态的撤销 3️⃣ 优点 继承的有力补充,比继承灵活,不改变原有对象的情况下给一个对象扩展功能 通过使用不同的装饰类以及这些装饰…... 十丈红尘- 0
- 0
- 9
-
外观模式详解|设计模式学习指南
外观模式详解 1️⃣ 概念 定义: 又叫门面模式,提供了一个统一的接口,用来访问子系统中的一群接口;外观模式定义了一个高层接口,让子系统更容易使用。 类型: 结构性 2️⃣ 适用场景 当子系统越来越复杂,增加外观模式提供简单调用接口 构建多层系统结构,利用外观对象作为每层的入口,简化层间调用 3️⃣ 优点 简化了调用过程,无需深入了解子系统,防止带来风险 减少系统依赖,松散耦合 更好的划分访问的层…... 十丈红尘- 0
- 0
- 5
-
适配器模式详解(Python版)——结构型设计模式实战教程
适配器模式详解 1️⃣ 概念 定义: 是将一个类的接口转换成客户期望的另一个接口;使原本不兼容的类可以一起工作。 类型: 结构性 2️⃣ 适用场景 已经存在的类,方法和需求不匹配时(方法结果相同或相似) 不是软件设计阶段考虑的设计模式,是随着软件维护,由于不同产品不同厂家造成功能类似而接口不相同情况下的解决方案 3️⃣ 优点 能提高类的透明度和复用,现有的类复用但不需要改变 目标类和适配器类解耦,…... 十丈红尘- 0
- 0
- 10
-
享元模式详解:Python实现与应用场景全面解析
享元模式详解 1️⃣ 概念 定义: 提供了减少对象数量从而改善应用所需的对象结构的方式;运用共享技术有效地支持大量细粒度的对象; 类型: 结构性 2️⃣ 适用场景 常常应用于系统底层的开发,以便解决系统的性能问题; 系统有大量的相似对象,需要缓冲池的场景; 3️⃣ 优点 减少对象的创建,降低内存中对象的数量,较低系统的内存,提升效率; 减少内存之外的其他资源占用; 4️⃣ 缺点 关注内外部状态,关…... 十丈红尘- 0
- 0
- 10
-
桥接模式详解 | Python桥接模式示例与应用解析
桥接模式详解 1️⃣ 概念 定义: 将抽象部分与它的具体实现部分分离,使他们都可以独立的变化;通过组合的方式建立两个类之间联系,而不是继承。 类型: 结构型 2️⃣ 适用场景 抽象与具体实现之间增加更多的灵活性 一个类存在两个(或多个)独立变化的维度,且这两个(或多个)维度都需要进行独立扩展 不希望使用继承,或因为多层继承导致系统类的个数剧增 3️⃣ 优点 分离抽象部分及其具体实现部分 提高了系统…... 十丈红尘- 0
- 0
- 9
-
迭代器模式详解 – 行为型设计模式与应用
迭代器模式 1️⃣ 概念 定义:提供一种方法,顺序访问一个集合对象中的各个元素,而又不暴露该对象的内部表示 类型:行为型 2️⃣ 适用场景 访问一个集合对象的内容而无需暴露它的内部表示 为遍历不同的集合结构提供一个统一的接口 3️⃣ 优点 分离了集合对象的遍历行为 4️⃣ 缺点 类的个数成对增加 5️⃣ 迭代器模式Coding 迭代器模式使用的非常广泛,一般我们都是使用已经封装好的很少会有自己封装…... 十丈红尘- 0
- 0
- 8
-
建造者模式详解 | Python实现与应用场景对比工厂模式
建造者模式详解 1️⃣ 概念 定义: 将一个复杂对象的构建和它的表示分离,使得同样的构建过程可以创建不同的表示。 特征: 用户只需指定建造的类型就可以得到他们,建造过程及细节不需要知道。 类型: 创建型 2️⃣ 适用场景 如果一个对象有非常复杂的内部结构(例如有很多属性) 想把复杂对象的创建和使用分离 3️⃣ 优点 封装性好,创建和使用分离 扩展性好,建造类之间独立,一定程度上解耦 4️⃣ 缺点 …... 十丈红尘- 0
- 0
- 7
-
设计模式的分类与七大原则详解 | 创建型、结构型、行为型模式
设计模式的分类与七大原则 一、设计模式的分类 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 二、设计模式的七大原则 …... 十丈红尘- 0
- 0
- 9
-
原型模式详解 | 深入理解 Prototype Pattern 的实现与应用
原型模式详解 1️⃣ 概念 定义: 指原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 特点: 不需要知道任何的创建细节,并且不调用构造函数 类型: 创建型 2️⃣ 适用场景 类初始化消耗太多资源 直接创建一个对象需要非常繁琐的过程(数据准备、访问权限等) 构造函数比较复杂 循环体中生产大量的对象时 3️⃣ 优点 原型模式性能比直接创建一个对象性能高 简化创建过程 4️⃣ 缺点 必须配…... 十丈红尘- 0
- 0
- 7
-
组合模式详解 | Python代码示例与应用场景
组合模式详解 1️⃣ 概念 定义: 将对象组合成树形结构以表示"部分-整体"的层次结构;组合模式使客户端对单个对象和组合对象保持一致的方式处理。 类型: 结构性 2️⃣ 适用场景 希望客户端可以忽略组合对象与单个对象的差异时 处理一个树形结构时 3️⃣ 优点 清楚的定义分层次的复杂对象,表示对象的全部或部分层次 让客户端忽略了层次的差异,方便对整个层次结构进行控制 简化客户端代…... 十丈红尘- 0
- 0
- 11
-
Python单例模式详解:概念、优缺点与实现方式
单例模式详解 - Python版本 1️⃣ 概念 定义:保证一个类仅有一个实例,并提供一个全局访问点 类型:创建型 2️⃣ 适用场景 想确保任何情况下都绝对只有一个实例 3️⃣ 优点 在内存中只有一个实例,减少了内存开销 可以避免对资源的多重占用 设置了全局访问点,严格控制访问 4️⃣ 缺点 没有接口,扩展困难 5️⃣ 重点 私有构造器 线程安全 延迟加载 序列化和反序列化安全 反射 6️⃣ 单例…... 十丈红尘- 0
- 0
- 11
-
设计模式:工厂模式详解(Python版)
设计模式:工厂模式详解(Python版) 一、简单工厂 1️⃣ 概念 定义:由一个工厂对象决定创建出哪一种产品类的实例 类型:创建型,但不属于GOF23种设计模式 2️⃣ 适用场景 工厂类负责创建的对象比较少 客户端(应用层)只知道传入工厂类的参数,对于如何创建对象(逻辑)不关心 3️⃣ 优点 只需要传入一个正确的参数,就可以获取你所需要的对象,而无需知道其创建细节 4️⃣ 缺点 工厂类的职责相对…... 十丈红尘- 0
- 0
- 44