Sobes.tech
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(); // Տպում է "Հավ"

Այս մոտեցումը հեշտացնում է նոր տիպի օբյեկտների ավելացումը առանց հաճախորդային կոդը փոփոխելու։