简单工厂模式(Factory Pattern)是一种创建型的设计模式,像工厂一样根据要求生产对象实例。 特点:根据不同的条件,工厂实例化出合适的对象。 《大话设计模式》中实例:四则运算计算器 代码: 1 #!/usr/bin/env python 2 #-*- coding ...
简单工厂模式(Factory Pattern)是一种创建型的设计模式,像工厂一样根据要求生产对象实例。
特点:根据不同的条件,工厂实例化出合适的对象。
《大话设计模式》中实例:四则运算计算器
代码:
1 #!/usr/bin/env python 2 #-*- coding: utf-8 -*- 3 4 class Operation: 5 def getResult(self): 6 pass 7 8 class OperationAdd(Operation): 9 def getResult(self):10 return self.op1+self.op211 12 class OperationSub(Operation):13 def getResult(self):14 return self.op1-self.op215 16 class OperationMul(Operation):17 def getResult(slef):18 return self.op1*self.op219 20 class OperationDiv(Operation):21 def getResult(self):22 try:23 return self.op1/float(self.op2)24 except:25 print("Error:除数为0!")26 return 027 28 class OperationOther(Operation):29 def getResult(self):30 print("Error:没有定义的运算符!")31 return 032 33 34 class OperationFactory:35 36 operation = {}37 operation["+"] = OperationAdd()38 operation["-"] = OperationSub()39 operation["*"] = OperationMul()40 operation["/"] = OperationDiv()41 42 def createOperation(self,choice):43 if choice in self.operation.keys():44 op = self.operation[choice]45 else:46 op = OperationOther()47 return op48 49 50 51 if __name__ == "__main__":52 op = raw_input("请输入运算符:")53 num_a = input("a:")54 num_b = input("b:")55 56 factory = OperationFactory()57 cal = factory.createOperation(op)58 59 cal.op1 = num_a60 cal.op2 = num_b61 62 print(u"运算结果为:" + str(cal.getResult()))63
原标题:Python 设计模式
关键词:python
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。