参考自: 《零基础血PYTHON》
设计模式的目标是形成典型问题的解决方案,设计出可复用的软件结构。设计模式与语言无关,任何语言都可以实现设计模式。
Python的设计模式有很多 可以分为 创建、结构、行为型模型模式。
创建型模式提出了对象创建的解决方案,以及数据封装的方法,降低了创建对象时代码的复杂度。如工厂模式、抽象工厂模式、单例模式、生成器模式等。
结构性模式描述了对象之间的体系结构,通过组合、继承,等方式改善体系结构,降低体系结构总组件的依赖性。如适配器模式、桥模式、组合模式、装饰器模式、外观模式等。
行为模式描述了对象之间的交互和各自职责。有助于实现程序中对象的通信和流程的控制。
举例:设计模式 ---工厂方法 Factory
工厂模式中,工厂方法用于创建产品,并隐藏了产品对象实例化的过程。
class Factory: # 工厂类
def createFruit(self, fruit): # 工厂方法
if fruit == "apple": # 如果是apple则返回类Apple
return Apple()
elif fruit == "banana": # 如果是banana则返回类Banana
return Banana()
class Fruit:
def __str__(self):
return "fruit"
class Apple(Fruit):
def __str__(self):
return "apple"
class Banana(Fruit):
def __str__(self):
return "banana"
if __name__ == "__main__":
factory = Factory()
print(factory.createFruit("apple") ) # 创建apple对象
print(factory.createFruit("banana")) # 创建banana对象