Skip to content

Factory Pattern

Factory Pattern — bu creational design pattern bo‘lib, object (obyekt) yaratish jarayonini alohida funksiyaga ajratib beradi. Ya’ni, new operatorini har joyda ishlatish o‘rniga, obyektlarni factory orqali yaratamiz.

Bu yondashuv kodni:

  • tushunarliroq
  • kengaytirish osonroq
  • kam bog‘langan (loosely coupled)

qiladi.

Avval oddiy usulni ko‘rib chiqamiz:

const car1 = {
type: "sedan",
speed: 180,
};
const car2 = {
type: "suv",
speed: 220,
};

Muammo:

  • Kod doimiy ravishda takrorlanadi
  • Yangi object (obyekt) qo‘shish qiyinlashadi
  • Logika markazlashmagan

Endi object yaratishni bitta funksiyaga o‘tkazamiz:

function createCar(type, speed) {
return {
type,
speed,
drive() {
console.log(`${type} ${speed} km/soat tezlikda yurmoqda`);
},
};
}
const car1 = createCar("sedan", 180);
const car2 = createCar("suv", 220);
car1.drive(); // sedan 180 km/soat tezlikda yurmoqda
car2.drive(); // suv 220 km/soat tezlikda yurmoqda

Factory funksiya orqali object yaratish bitta joyda amalga oshmoqda va bu nafaqat kodni o’zgartirishga qulay, balki kod takrorlanmayapti ham.