概念
- 建造者模式是一种设计模式。它将复杂对象的构建过程和表示相分离,并通过一步步创建对象来构建复杂对象。
- 建造者模式可以帮助我们在创建对象时保持灵活性和可扩展性。
实现
class Pizza:
def __init__(self, size):
self.size = size
self.toppings = []
def add_topping(self, topping):
self.toppings.append(topping)
class PizzaBuilder:
def __init__(self, size):
self.pizza = Pizza(size)
def add_pepperoni(self):
self.pizza.add_topping('pepperoni')
def add_cheese(self):
self.pizza.add_topping('cheese')
def add_mushrooms(self):
self.pizza.add_topping('mushrooms')
def get_pizza(self):
return self.pizza
在这个例子中,我们创建了一个Pizza类和一个PizzaBuilder类。PizzaBuilder类包含了创建Pizza对象的逻辑和一些可选的步骤。我们可以根据PizzaBuilder类的接口来创建Pizza对象,并在创建过程中根据需要添加额外的配料。
这里是一个使用PizzaBuilder类创建Pizza对象的示例:
builder = PizzaBuilder(12)
builder.add_cheese()
builder.add_pepperoni()
pizza = builder.get_pizza()
在这个例子中,我们创建了一个PizzaBuilder对象,并使用它来构建一个12英寸的Pizza对象,然后添加一些额外的配料,最后得到一个完整的Pizza对象。
使用建造者模式,我们可以轻松地构建复杂对象,而不需要直接处理它们的内部细节。这使得我们的代码更加易于维护和扩展。