Câu hỏi

Hãy kể một trường hợp sử dụng Builder Design Pattern trong Java?

Câu trả lời

Trong Java, Builder Design Pattern là một mẫu thiết kế tạo ra (Creational Design Pattern) được sử dụng để tạo ra một đối tượng phức tạp bằng cách sử dụng các bước xây dựng đơn giản và rõ ràng. Mẫu thiết kế này giúp tạo ra các đối tượng một cách linh hoạt và an toàn hơn so với việc sử dụng các constructor truyền thống hoặc các phương thức factory.

Trường Hợp Sử Dụng: Xây Dựng Đối Tượng Pizza

Giả sử bạn đang phát triển một ứng dụng cho một cửa hàng pizza, và bạn cần một cách linh hoạt để tạo ra các đối tượng Pizza với nhiều lựa chọn như loại bánh, loại phô mai, và các topping khác nhau.

Bước 1: Định Nghĩa Lớp PizzaPizzaBuilder

Đầu tiên, bạn định nghĩa lớp Pizza với các thuộc tính tương ứng:

public class Pizza {
    private String dough;
    private String sauce;
    private String cheese;
    private List<String> toppings;

    // Constructor private để ngăn tạo trực tiếp
    private Pizza(PizzaBuilder builder) {
        this.dough = builder.dough;
        this.sauce = builder.sauce;
        this.cheese = builder.cheese;
        this.toppings = builder.toppings;
    }

    // Getters và các phương thức khác

    // Lớp Builder nội bộ
    public static class PizzaBuilder {
        private String dough;
        private String sauce;
        private String cheese;
        private List<String> toppings = new ArrayList<>();

        public PizzaBuilder dough(String dough) {
            this.dough = dough;
            return this;
        }

        pub...
Bạn cần đăng nhập để xem