banner
Jun 13, 2023
116 Views

Builder Pattern

Written by
banner

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 Tags:
· ·
Article Categories:
dev
banner

Leave a Reply

Your email address will not be published. Required fields are marked *