# python-design-patterns **Repository Path**: jaque/python-design-patterns ## Basic Information - **Project Name**: python-design-patterns - **Description**: python-design-patterns - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-08-25 - **Last Updated**: 2025-04-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PythonDesignPatterns Python 实现23种设计模式 > 虽然设计模式与语言无关,但这并不意味着每一个模式都能在每一门语言中使用。 ——《流畅的Python》 >程序设计语言的选择非常重要,它将影响人们理解问题的出发点。我们的设计模式采用了 Smalltalk 和 C++ 层的语言特性,这个选择实际上决定了哪些机制可以方便地实现,而哪些则不能。若我们采用过程式语言,可能就要包括诸如“集成”“封装”和“多态”的设计模式。相应地,一些特殊的面向对象语言可以直接支持我们的某些模式,例如 CLOS 支持多方法概念,这就减少了访问者模式的必要性。 ——《设计模式:可复用面向对象软件的基础》 ## 创建类 - [工厂方法模式](https://www.cnblogs.com/welan/p/9126922.html) - [建造者模式](https://www.cnblogs.com/welan/p/9124081.html) - [原型模式](https://www.cnblogs.com/welan/p/9123803.html) - [单例模式](https://www.cnblogs.com/welan/p/9005151.html) ## 结构类 - [享元模式](https://www.cnblogs.com/welan/p/9128598.html) - [代理模式](https://www.cnblogs.com/welan/p/9128541.html) - [装饰器模式](https://www.cnblogs.com/welan/p/9127542.html) - [适配器模式](https://www.cnblogs.com/welan/p/9127184.html) - [桥接模式](https://www.cnblogs.com/welan/p/9127087.html) - [外观模式](https://www.cnblogs.com/welan/p/9127000.html) # 行为类 - [命令模式](https://www.cnblogs.com/welan/p/9130726.html) - [访问者模式](https://www.cnblogs.com/welan/p/9130622.html) - [责任链模式](https://www.cnblogs.com/welan/p/9130538.html) - [备忘录模式](https://www.cnblogs.com/welan/p/9130417.html) - [中介者模式](https://www.cnblogs.com/welan/p/9130369.html) - [状态模式](https://www.cnblogs.com/welan/p/9130283.html) - [模板方法模式](https://www.cnblogs.com/welan/p/9129958.html) - [解释器模式](https://www.cnblogs.com/welan/p/9129884.html) - [观察者模式](https://www.cnblogs.com/welan/p/9129772.html) - [迭代器模式](https://www.cnblogs.com/welan/p/9129697.html) - [策略模式](https://www.cnblogs.com/welan/p/9129446.html) - [组合模式](https://www.cnblogs.com/welan/p/9128685.html)