Sobes.tech
Junior — Middle

Obyekt yönümlü proqramlaşdırmada 'fabrika' nümunəsinin işləmə prinsipi və məqsədini izah edin.

sobes.tech Süni İntellekt

AI-dan cavab

«Fabrika» (Factory) nümunəsi, yaradılan obyektin konkret sinfini göstərmədən obyektlər yaratmaq üçün istifadə olunur. Əsas məqsədi obyektlərin yaradılma loqikasını kapsülləməkdir ki, bu da kodun genişləndirilməsini və dəstəyini asanlaşdırır.

İş prinsipi:

  • Müştəri, interfeys və ya əsas sinif obyektini qaytaran fabriki metod və ya sinfə müraciət edir.
  • Fabrik, hansı konkret sinfin yaradılacağını qərar verir və detallarını müştəridən gizlədir.

C# nümunəsi:

// Məhsul interfeysi
interface IAnimal {
    void Speak();
}

// Konkret məhsullar
class Dog : IAnimal {
    public void Speak() => Console.WriteLine("Hav");
}
class Cat : IAnimal {
    public void Speak() => Console.WriteLine("Miyav");
}

// Fabrik
class AnimalFactory {
    public static IAnimal CreateAnimal(string type) {
        return type switch {
            "dog" => new Dog(),
            "cat" => new Cat(),
            _ => throw new ArgumentException("Naməlum heyvan növü")
        };
    }
}

// İstifadə
var animal = AnimalFactory.CreateAnimal("dog");
animal.Speak(); // "Hav" çıxarır

Bu yanaşma, yeni obyekt tiplərinin əlavə edilməsini, müştəri kodunu dəyişdirmədən asanlaşdırır.