Junior — Middle
Izskaidrojiet 'fabrikas' modeļa darbības principu un mērķi objektorientētajā programmēšanā.
sobes.tech AI
Atbilde no AI
«Fabrikas» (Factory) šablons tiekia būdą kurti objektus nes nurodant konkrečią jų klasę. Tā galvenais mērķis ir ietvert objektu izveides loģiku, kas atvieglo koda paplašināšanu un uzturēšanu.
Darba princips:
- Klients vēršas pie fabrikas metodes vai klases, kas atgriež interfeisa vai pamata klases objektu.
- Fabrika lemj, kuru konkrētu klasi izveidot, slēpjot detaļas no klienta.
Piemērs C#:
// Produkta interfeiss
interface IAnimal {
void Speak();
}
// Konkrēti produkti
class Dog : IAnimal {
public void Speak() => Console.WriteLine("Gau");
}
class Cat : IAnimal {
public void Speak() => Console.WriteLine("Miau");
}
// Fabrika
class AnimalFactory {
public static IAnimal CreateAnimal(string type) {
return type switch {
"dog" => new Dog(),
"cat" => new Cat(),
_ => throw new ArgumentException("Nezināms dzīvnieka tips")
};
}
}
// Lietošana
var animal = AnimalFactory.CreateAnimal("dog");
animal.Speak(); // Izvadīs "Gau"
Šis pieejas veids atvieglo jaunu objektu tipu pievienošanu bez klienta koda izmaiņām.