Junior — Middle
Vysvetlite princíp fungovania a účel vzoru 'fabrika' v objektovo orientovanom programovaní.
sobes.tech AI
Odpoveď od AI
Vzor «Fabrika» (Factory) saťahuje objekty bez určenia konkrétnej triedy vytváraného objektu. Jeho hlavný účel je enkapsulácia logiky vytvárania objektov, čo uľahčuje rozšírenie a údržbu kódu.
Princíp fungovania:
- Klient sa obracia na továrenskú metódu alebo triedu, ktorá vracia objekt rozhrania alebo základnej triedy.
- Fabrika rozhodne, akú konkrétnu triedu vytvoriť, a skryje detaily pred klientom.
Príklad v C#:
// Rozhranie produktu
interface IAnimal {
void Speak();
}
// Konkrétne produkty
class Dog : IAnimal {
public void Speak() => Console.WriteLine("Hav");
}
class Cat : IAnimal {
public void Speak() => Console.WriteLine("Mňau");
}
// Fabrika
class AnimalFactory {
public static IAnimal CreateAnimal(string type) {
return type switch {
"dog" => new Dog(),
"cat" => new Cat(),
_ => throw new ArgumentException("Neznámy typ zvieraťa")
};
}
}
// Použitie
var animal = AnimalFactory.CreateAnimal("dog");
animal.Speak(); // Vytlačí "Hav"
Tento prístup uľahčuje pridávanie nových typov objektov bez zmeny klientského kódu.