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