newbie_evolve's Blog

Happy coding
python设计模式之“装饰者模式”
Python设计模式之“工厂方法模式”

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()
简单工厂模式:工厂可根据条件产生不同功能的类。
简单工厂其实并不是一个设计模式,它反而更像一种编码习惯。

登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter