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(); // Տպում է "Հավ"
Այս մոտեցումը հեշտացնում է նոր տիպի օբյեկտների ավելացումը առանց հաճախորդային կոդը փոփոխելու։