Junior — Middle
Объектке багытталган программалоодо 'фабрика' паттернин иштөө принциби жана максаты жөнүндө түшүндүрүңүз.
sobes.tech AI
AIден жооп
«Фабрика» (Factory) үлгісі объектілерді құру үшін пайдаланылады, ол құрыла жатқан объектінің нақты сыныбын көрсетпейді. Оның негізгі мақсаты — объектілерді құру логикасын инкапсуляциялау, бұл кодты кеңейту мен қолдауды жеңілдетеді.
Жұмыс принципі:
- Клиент фабрика әдісіне немесе сыныбына жүгінеді, ол интерфейс немесе негізгі сынып объектісін қайтарады.
- Фабрика қай нақты сыныпты құру керек екенін шешеді, ал бөлшектерді клиенттен жасырын қалдырады.
C# мысалы:
// Өнім интерфейсі
interface IAnimal {
void Speak();
}
// Нақты өнімдер
class Dog : IAnimal {
public void Speak() => Console.WriteLine("Гав");
}
class Cat : IAnimal {
public void Speak() => Console.WriteLine("Мяу");
}
// Фабрика
class AnimalFactory {
public static IAnimal CreateAnimal(string type) {
return type switch {
"dog" => new Dog(),
"cat" => new Cat(),
_ => throw new ArgumentException("Белгісіз жануар түрі")
};
}
}
// Қолдану
var animal = AnimalFactory.CreateAnimal("dog");
animal.Speak(); // "Гав" шығарады
Бұл тәсіл жаңа объектілердің түрлерін қосуды жеңілдетеді, клиенттік кодты өзгерту қажет емес.