码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2021-06-06 19:42:01      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:属性   def   python oo   工具   工厂   turn   指定   bee   实例   

工厂模式

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

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

代码例子:

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()就是工厂函数
好处:不用再直接调用类,专事专办,减少错误,便于管理维护

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

标签:属性   def   python oo   工具   工厂   turn   指定   bee   实例   

原文地址:https://www.cnblogs.com/DAYceng/p/14855560.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!