Junior — Middle
Obyektga yo'naltirilgan dasturlashda 'fabrika' shablonining ishlash prinsipi va maqsadini tushuntiring.
sobes.tech AI
AIdan javob
«Fabrika» (Factory) naqshli ob'ektlarni yaratish uchun ishlatiladi, bu yerda yaratilayotgan ob'ektning aniq sinfi ko'rsatilmaydi. Uning asosiy vazifasi ob'ektlarni yaratish logikasini inkapsulyatsiya qilish bo'lib, bu kodni kengaytirish va qo'llab-quvvatlashni osonlashtiradi.
Ishlash prinsipi:
- Mijoz fabrika usuli yoki sinfiga murojaat qiladi, bu usul yoki sinf interfeys yoki asosiy sinf ob'ektini qaytaradi.
- Fabrika qaysi aniq sinfni yaratishni hal qiladi va tafsilotlarni mijozdan yashiradi.
C# misoli:
// Mahsulot interfeysi
interface IAnimal {
void Speak();
}
// Aniq mahsulotlar
class Dog : IAnimal {
public void Speak() => Console.WriteLine("Gav");
}
class Cat : IAnimal {
public void Speak() => Console.WriteLine("Miyu");
}
// Fabrika
class AnimalFactory {
public static IAnimal CreateAnimal(string type) {
return type switch {
"dog" => new Dog(),
"cat" => new Cat(),
_ => throw new ArgumentException("Noma'lum hayvon turi")
};
}
}
// Foydalanish
var animal = AnimalFactory.CreateAnimal("dog");
animal.Speak(); // "Gav" chiqaradi
Bu yondashuv yangi ob'ekt turlarini qo'shishni mijoz kodini o'zgartirmasdan osonlashtiradi.