设计模式的分类与原则

在上一章,我们弄清楚了什么是设计模式以及为什么 Python 也需要设计模式。
本篇我们进一步梳理设计模式的整体结构,让你对设计模式体系有一个全局认知。


一、设计模式的三大分类

经典的 GoF(Gang of Four)设计模式将模式分为三大类:创建型、结构型、行为型。这是理解设计模式体系最重要的基础。


1. 创建型模式(Creational Patterns)

关注点:如何更合理地创建对象。

主要解决的问题:

  • 复杂对象如何创建?
  • 如何避免在代码中散落大量 new 或 类() 实例化?
  • 如何做到可扩展、可替换?

常见创建型模式:

模式 作用
单例模式 (Singleton) 保证一个类只有一个实例
工厂方法 (Factory Method) 延迟创建对象,让子类决定实例化谁
抽象工厂 (Abstract Factory) 创建一系列相关对象,隔离具体实现
建造者模式 (Builder) 分步骤创建复杂对象
原型模式 (Prototype) 通过复制已有对象来创建新对象

Python 的动态语言特性,使得这些模式的实现更加灵活,但思想完全一致。


2. 结构型模式(Structural Patterns)

关注点:如何组织类与对象,使结构更稳定、更灵活。

主要解决的问题:

  • 如何让类之间的关系更加清晰、可复用?
  • 如何简化复杂系统的外部使用方式?

常见结构型模式:

模式 作用
适配器模式 (Adapter) 转换接口,让不兼容的组件协作
装饰器模式 (Decorator) 动态扩展对象功能
代理模式 (Proxy) 控制对象访问,如缓存、权限、延迟加载
外观模式 (Facade) 提供统一的高层接口封装复杂系统
组合模式 (Composite) 构建树形结构,使单个对象和组合对象统一处理
桥接模式 (Bridge) 分离抽象与实现,让两者独立变化
享元模式 (Flyweight) 共享对象节省内存
🔒 点击解锁完整内容


次阅读

扫描下方二维码,关注公众号:程序进阶之路,实时获取更多优质文章推送。


扫码关注

评论