python设计模式之“简单工厂模式”
newbie_evolve
posted @ 2013年8月15日 15:06
in python之年
, 819 阅读
class Pizza():#pizza类
def display(self):
pass
class CheesePizza(Pizza):#奶酪pizza
def display(self):
print "it CheesePizza"
class VeggiePizza(Pizza):#素食pizza
def display(self):
print "it VeggiePizza"
class ClamPizza(Pizza):#海鲜pizza
def display(self):
print "it ClamPizza"
class PizzaUndef(Pizza):#未定义的pizza
def display(self):
print "undefine operation"
return None
class PizzaFactory():#pizza工厂
pizz = {}#使用字典
pizz["ch"] = CheesePizza()
pizz["ve"] = VeggiePizza()
pizz["cl"] = ClamPizza()
def createPizza(self,tem):
if tem in self.pizz:
pi = self.pizz[tem]
else:
pi = PizzaUndef()
return pi
if __name__ =="__main__":
op = raw_input("Pizza:")
factory = PizzaFactory()
cal = factory.createPizza(op)
cal.display()
简单工厂模式:工厂可根据条件产生不同功能的类。
简单工厂其实并不是一个设计模式,它反而更像一种编码习惯。