Python 设计模式资源收集
# 学习路线
设计模式的学习分两步走:先理解概念,掌握面向对象的开发守则;再将这些概念运用到实际项目中。
# 概念的理解
这步看似简单,实际则不然。譬如单例模式,就是一个类只生成一个实例。这种做法有什么好处,有没有类似的实际案例。能不能自己实现双例模式,三例模式呢?
书中写的是非常标准的单例模式,实际开发中不一定非常标准,但可能会为了方便写的很简洁,你需要知道缺陷。
# 实际的运用
这个就需要进行大量的练习和经验了。在构建中型项目时,如何熟练的编写和运用非常考验开发者的水平。
有些时候,一些模块既可以用模板模式,也可以用策略模式,但最终以哪个为主模式就需要根据实际情况了。
还有一种情况就是多种模式混合使用,这种情况下没有足够的功底就很难有效使用了。比如策略加模板是我经常使用的;还有经常用的状态模式加工厂模式。
有些模式只会用一半,就是用某些模式的思路来实现,你根本看不出什么模式。甚至根据实际情况,结合面对对象的基本原则,还需要自己发明模式。
# 最后的提醒
学习设计模式,先知道基本概念,理解一些比较容易的模式,先用起来。慢慢找到感觉,自己从一个架构师的角度来考虑。
总之,学习设计模式需要一个漫长的过程。
ref : 想学习设计模式,是入手《Head First 设计模式》,还是入手《大话设计模式》呢? - 山猫的回答 - 知乎 (opens new window)
# 资源
- name: 设计模式:可复用面向对象软件的基础
desc: 🚀经典书籍——四人帮
link: https://share.weiyun.com/vxuu9mAA
bgColor: '#DFEEE7'
textColor: '#2A3344'
2
3
4
5
Python Design Patterns (opens new window)
faif/python-patterns: A collection of design patterns/idioms in Python (opens new window)
wklken/py-patterns: 设计模式的 python 实现 (opens new window)
interview/code/design_pattern at master · DasyDong/interview (opens new window)
cundi/Mastering.Python.Design.Patterns: 《精通 Python 设计模式》2015 年 1 月 (opens new window)
工厂模式 - Python 设计模式™ (opens new window)
Python 系列干货之——Python 与设计模式 - 知乎 (opens new window)
用 python 实现设计模式 — python-web-guide 0.1 文档 (opens new window)
The Pattern Concept — Python 3 Patterns, Recipes and Idioms (opens new window)
《精通 Python 设计模式》cundi/Mastering.Python.Design.Patterns: 《精通 Python 设计模式》 (opens new window)
# 观点
Python 里没有接口,如何写设计模式? - 知乎 (opens new window)
为何大量设计模式在动态语言中不适用? - 知乎 (opens new window)
SOLID 原则、设计模式适用于 Python 语言吗 - xybaby - 博客园 (opens new window)
# 代码
Meteorix/python-design-patterns: Python 设计模式 (opens new window)