跳到主要内容

设计模式知识体系概览

问题

Python 中常见的设计模式有哪些?和传统 OOP 语言有什么不同?

答案

Python 是多范式语言(OOP + 函数式),很多传统设计模式在 Python 中有更简洁的实现方式

Python 设计模式特点

传统 OOPPython 替代
策略模式(接口+类)一等函数/lambda
装饰器模式(类包装)@decorator 语法
迭代器模式(Iterator 接口)__iter__/__next__,生成器
单例模式(私有构造器)模块级变量、__new__
命令模式(Command 类)callable 对象

知识体系

模式分类面试重要度
单例模式创建型⭐⭐⭐⭐⭐
工厂模式创建型⭐⭐⭐⭐
观察者模式行为型⭐⭐⭐⭐
策略模式行为型⭐⭐⭐⭐
装饰器模式结构型⭐⭐⭐⭐⭐

相关链接