【Python OO其二】设计模式之工厂模式(举例说明)

工厂模式

工厂模式中的“工厂”实际上就是把类看成制造某种模板的工具(工厂),由这个类生成的实例除了本身自有的属性外,还可以通过指定的方式产出具有不同属性的同一类实例

比如:有一个面包房,它提供面包制作服务,在面包做好之后,你可以选择撒上不同的调味料,从而得到不同的面包。但这些食物仍属于面包这个范畴。

代码例子:

class BreadFactory:  #这是我们的面包房
    def create_bread(self,taste):
        if taste == "strawberry":
            return StrawberryBread()
        elif taste == "cheese":
            return CheeseBread()
        elif taste == "beef":
            return BeefBread()
        else:
            return "???"
 #想要添加什么调料取决于你
class StrawberryBread():
    pass

class CheeseBread():
    pass

class BeefBread():
    pass
#使用面包房先生产面包
factory = BreadFactory()
#将面包调味
B1 = factory.create_bread("strawberry")
B2 = factory.create_bread("cheese")
B3 = factory.create_bread("haha") 

其中,BreadFactory()就是工厂函数
好处:不用再直接调用类,专事专办,减少错误,便于管理维护

posted @ 2021-06-06 16:04  dayceng  阅读(83)  评论(0编辑  收藏  举报