在 Python 中实现建造者模式,需要定义一个抽象的建造者类和具体的建造者类,然后定义一个指挥者类来指导如何创建产品。
下面是一个简单的示例,展示了如何在 Python 中实现建造者模式:
class Builder:
def build_part_a(self):
pass
def build_part_b(self):
pass
def get_result(self):
pass
class ConcreteBuilder(Builder):
def __init__(self):
self.product = Product()
def build_part_a(self):
self.product.add("Part A")
def build_part_b(self):
self.product.add("Part B")
def get_result(self):
return self.product
class Product:
def __init__(self):
self.parts = []
def add(self, part):
self.parts.append(part)
def list_parts(self):
print(f"Product parts: {', '.join(self.parts)}")
class Director:
def __init__(self, builder):
self._builder = builder
def construct(self):
self._builder.build_part_a()
self._builder.build_part_b()
if __name__ == "__main__":
builder = ConcreteBuilder()
director = Director(builder)
director.construct()
product = builder.get_result()
product.list_parts()
在这个示例中,我们定义了一个 Builder
类和一个具体的建造者类 ConcreteBuilder
,其中 Builder
类定义了用于建造产品的方法,而 ConcreteBuilder
类实现了这些方法并创建了一个 Product
类的实例。然后,我们定义了一个指挥者类 Director
,它指导如何使用 ConcreteBuilder
类来创建产品。最后,我们在 main
函数中创建了一个 ConcreteBuilder
类的实例,然后使用