Thứ Sáu, 8 tháng 3, 2013

Builder

1. Khái niệm

Builder pattern mô tả cách thức tạo ra một object phức tạp từ nhiều thành phần theo một logic đã được xác định.

2. Vấn đề thực tế 

Giả sử bạn cần xây dựng một object Car. Quá trình xây dựng object Car bao gồm rất nhiều công đoạn như xây dựng concept, thiết kế mô hình, thiết kế linh kiện, lắp ráp linh kiện...Các hành vi này được thực hiện theo trình tự và logic đã được xác định. Vậy làm thế nào chúng ta có thể thực hiện được điều này?

Builder pattern ra đời giúp chúng ta thực hiện được yêu cầu trên.

3. Giải pháp 

Đầu tiên, chúng ta sẽ có một lớp AbstractCarBuilder nhằm khai báo các hành vi tham gia vào quá trình xây dựng Car, trong lớp AbstractCarBuilder cũng sẽ khai báo 1 function getCar để lấy ra đối tượng Car.

Logic tổng quát mô tả các hành vi lắp ghép object Car sẽ được khai báo trừu tượng trong AbstractCarDirector. Các ConcreteCarDirector sẽ làm nhiệm vụ thực thi các hành vi theo logic đã cho sẵn để lắp ghép thành Car hoàn chỉnh

4. Mô hình 




5. Sample code 


6. Mối liên quan với các pattern khác

Không có nhận xét nào:

Đăng nhận xét