Junior — Middle
Explica principiul de funcționare și scopul pattern-ului 'fabrica' în programarea orientată pe obiecte.
sobes.tech AI
Răspuns de la AI
Modelul „Fabrica” (Factory) este utilizat pentru a crea obiecte fără a specifica clasa concretă a obiectului creat. Scopul său principal este încapsularea logicii de creare a obiectelor, ceea ce facilitează extinderea și întreținerea codului.
Principiul de funcționare:
- Clientul apelează o metodă sau o clasă de fabrică care returnează un obiect de interfață sau clasă de bază.
- Fabrica decide ce clasă concretă să creeze, ascunzând detaliile de client.
Exemplu în C#:
// Interfața produsului
interface IAnimal {
void Speak();
}
// Produse concrete
class Dog : IAnimal {
public void Speak() => Console.WriteLine("Ham");
}
class Cat : IAnimal {
public void Speak() => Console.WriteLine("Miau");
}
// Fabrica
class AnimalFactory {
public static IAnimal CreateAnimal(string type) {
return type switch {
"dog" => new Dog(),
"cat" => new Cat(),
_ => throw new ArgumentException("Tip de animal necunoscut")
};
}
}
// Utilizare
var animal = AnimalFactory.CreateAnimal("dog");
animal.Speak(); // Va afișa "Ham"
Această abordare facilitează adăugarea de noi tipuri de obiecte fără a modifica codul clientului.