工厂模式实现了创建者和调用者的分离,使用专门的工厂类将选择实现类、创建对象进行统一的管理和控制。 运行结果 单例模式 class CarFactory: _obj = None _init_flag = True def create_car(self,brand): if brand == ‘奔驰’: return Benz() elif brand == ‘比亚迪’: return BYD() else: return ‘未知品牌,无法创建’ def new(cls, *args, **kwargs): if cls._obj == None: cls._obj = object.new(cls) return cls._obj def init(self): if CarFactory._init_flag: print(‘init CarFactory…’) CarFactory._init_flag = False class Benz: pass class BYD: pass factory = CarFactory() c1 = factory.create_car(‘奔驰’) print(c1) 运行结果
|