Factory pattern (ok)

https://app.gitbook.com/@javascriptuse/s/advanced/chem-gio-ve-javascript-design-pattern-phan-2

Factory pattern

Mục đích của pattern này là tạo các object

  • Thực hiện các thao tác lặp lại khi tạo các đối tượng tương tự nhau

  • Cung cấp các phương thức để tạo object mà không cần biết kiểu tạo thời điểm biên dịch

Hãy xem ví dụ sau

  • Constructor CarMaker

  • Car Maker có static method factory() để tạo các car objects

  • Constructor đặc biệt như CarMaker.Compact, CarMaker.SUV, and CarMaker.Convertible kế thừa CarMaker. Tất cả constructor trên được định nghĩa như static – properties

Bạn sẽ implement như sau

var corolla = CarMaker.factory('Compact');
var solstice = CarMaker.factory('Convertible');
var cherokee = CarMaker.factory('SUV');
corolla.drive(); // "Vroom, I have 4 doors"
solstice.drive(); // "Vroom, I have 2 doors"
cherokee.drive(); // "Vroom, I have 17 doors"

Trong đoạn code trên, đây là phần cần chú ý nhất

var corolla = CarMaker.factory('Compact');

Bạn chỉ cần truyền tham số vào method factory, CarMaker sẽ trả về object tương ứng. Như vậy bạn không cần phải dùng từ khóa new để tạo object, chỉ cần dùng method để tạo object dựa vào tham số truyền vào

Dưới đây là toàn bộ source code đầy đủ

Last updated