设计模式知识体系概览
问题
Python 中常见的设计模式有哪些?和传统 OOP 语言有什么不同?
答案
Python 是多范式语言(OOP + 函数式),很多传统设计模式在 Python 中有更简洁的实现方式。
Python 设计模式特点
| 传统 OOP | Python 替代 |
|---|---|
| 策略模式(接口+类) | 一等函数/lambda |
| 装饰器模式(类包装) | @decorator 语法 |
| 迭代器模式(Iterator 接口) | __iter__/__next__,生成器 |
| 单例模式(私有构造器) | 模块级变量、__new__ |
| 命令模式(Command 类) | callable 对象 |
知识体系
| 模式 | 分类 | 面试重要度 |
|---|---|---|
| 单例模式 | 创建型 | ⭐⭐⭐⭐⭐ |
| 工厂模式 | 创建型 | ⭐⭐⭐⭐ |
| 观察者模式 | 行为型 | ⭐⭐⭐⭐ |
| 策略模式 | 行为型 | ⭐⭐⭐⭐ |
| 装饰器模式 | 结构型 | ⭐⭐⭐⭐⭐ |