Python设计模式-案例
1.单例模式class SingleObject:_instance Nonedef __new__(cls,*args,**kwargs):#如果没有实例化就进行一次实例化如果已经实例化就直接返回if not cls._instance:cls._instance super().__new__(cls)return cls._instances1 SingleObject()s2 SingleObject()print(s1 is s2) # s1和s2是同一个实例2.工厂模式使用了抽象类from abc import ABC, abstractmethodclass Product(ABC):abstractmethoddef operation(self):passclass ConcreteProductA(Product):def operation(self):return Product Aclass Creator(ABC):abstractmethoddef factory_method(self):passdef some_operation(self):product self.factory_method()return fCreator: {product.operation()}class CreatorA(Creator):def factory_method(self):return ConcreteProductA()# 使用creator CreatorA()print(creator.some_operation()) # Creator: Product A