1 class a: 2 def __init__(self,arg): 3 self.data = arg 4 5 def reminder(self): 6 print('{} is a number'.format(self.data)) 7 self.data = self.data**2 8 return self.data 9 class b: 10 def __init__(self,arg): 11 self.data = arg 12 13 def reminder(self): 14 print('{} is a str'.format(self.data)) 15 self.data = self.data+' nice to meet you' 16 return self.data 17 18 def factory(arg): 19 connect = None 20 if isinstance(arg,int): 21 connect = a 22 elif isinstance(arg,str): 23 connect = b 24 else: 25 raise ValueError('sorry !') 26 return connect(arg) 27 28 def main(): 29 s = 5 30 #s = 'jim' 31 32 modelfactory = factory(s) 33 result = modelfactory.reminder() 34 print(result) 35 36 if __name__ == '__main__': 37 main()
第一章 工厂模式
一、为什么要用工厂模式(工厂方法)
1.跟踪实例对象
2.讲对象的创建和使用解耦
3.在必要时创建对象,提高性能
二、基础使用模式
1.创建一个工厂方法(特征参数):
(1)1个或若干个分配器:
根据特征参数用来判断指向哪个工厂
(2)返回工厂对象(即工厂类)
2.创建2个或多个工厂类
(1)拥有命名一致的方法