探究设计模式的 Python 实现。
《Design Patterns: Elements of Reusable Object-Oriented Software》中包含 23 种设计模式。
类别 | 序号 | 示例 | 说明 |
---|---|---|---|
creational(创建型) | - | simple factory(简单工厂 | 1.simple factory 在《Design Patterns》未提到,这里将其视为一种惯用法(idiom),而不是设计模式(design pattern)。 |
- | 1 | ||
- | 2 | ||
- | 3 | ||
- | 4 | ||
- | 5 | ||
structural(结构型) | 6 | ||
- | 7 | ||
- | 8 | ||
- | 9 | ||
- | 10 | ||
- | 11 | ||
- | 12 | ||
behavioral(行为型) | 13 | ||
- | 14 | ||
- | 15 | ||
- | 16 | ||
- | 17 | ||
- | 18 | ||
- | 19 | ||
- | 20 | ||
- | 21 | ||
- | 22 | ||
- | 23 |
1.要想对设计模式理解到位,首先得有应用场景,且场景要有一定复杂度。
只有应用场景复杂了才要考虑代码的复用性(reusability),才会引入设计模式。这也是本仓库创建的目的——本人看了一些关于设计模式的书,但是感觉很多例子其实都不大恰当,所以想要收集一些恰当的设计模式的应用场景,以便更好地帮助理解设计模式。