The builder pattern is a design pattern designed to provide a flexible solution to various object creation problems in object-oriented programming. The intent of the builder design pattern is to separate the construction of a complex object from its representation.
builder pattern là 1 loại thiết kế khi bạn muốn có giải pháp tạo object đơn giản và linh hoạt:
- Thay vì viết constructor với các tham số quá dài và chi tiết có thể làm đơn giản hơn.
- Tạo ra các object giống nhau về bản chất nhưng khác nhau về chi tiết.
class Cake:
def __init__(self):
self.topping = None
self.base = None
def __str__(self):
return f"This is {self.base} case with {self.topping} topping"
class Builder:
def __init__(self):
self.cake = Cake()
def build_base(self, base):
self.cake.base = base
return self
def build_topping(self, topping):
self.cake.topping = topping
return self
def get_cake(self):
return self.cake
# Client code
builder_1 = Builder()
cake_1= builder_1.build_base("cookie").build_topping("jam").get_cake()
print(cake_1)
builder_2 = Builder()
cake_2= builder_2.build_base("sponge").build_topping("honey").get_cake()
print(cake_2)
Article Categories:
dev