刘刚刚的个人博客

HeadFirst 设计模式--简单工厂

创建时间:2022-11-06 23:58:24
更新时间:2022-11-06 23:58:24

简单工厂更像一种编程习惯,而不是设计模式。

三种简单工厂、工厂模式、抽象工厂模式

简单工厂

简单工厂更像一种编程习惯,而不是设计模式。

简单工厂通过传入不同的参数,来生成不同的类。

class CheesePizza:
    pass


class ClamPizza:
    pass


class SimpleFactory:
    def create_pizza(self, pizza_type):
        res = None
        if pizza_type == "cheese":
            res = CheesePizza()
        if pizza_type == "clam":
            res = ClamPizza()
        return res


class PizzaStore:
    pizza_factory = None

    def __init__(self, pizza_factory):
        self.pizza_factory = pizza_factory

    def order_pizza(self, pizza_type):
        pizza = self.pizza_factory.create_pizza(pizza_type)
        pizza.prepare()
        pizza.bake()
        pizza.cut()
        pizza.box()
        return pizza
tip:

可以将工厂类中生成对象的方法写成静态方法,这样的写法又称为静态工厂

好处:

  1. 当需要改动生成的对象时,在工厂类中改动即可,不需要改动其他逻辑。
  2. 可以方便其他类使用工厂类生成的对象(提高的代码的可复用性)
我的名片

昵称:shuta

职业:后台开发(python、php)

邮箱:648949076@qq.com

站点信息

建站时间: 2020/2/19
网站程序: ANTD PRO VUE + TP6.0
晋ICP备18007778号