Junior — Middle
Expliquez le principe de fonctionnement et l'objectif du motif 'fabrique' en programmation orientée objet.
sobes.tech IA
Réponse de l'IA
Le motif «Factory» (Usine) est utilisé pour créer des objets sans spécifier la classe concrète de l'objet à créer. Son objectif principal est d'encapsuler la logique de création d'objets, ce qui facilite l'extension et la maintenance du code.
Principe de fonctionnement :
- Le client fait appel à une méthode ou une classe de fabrique qui retourne un objet d'interface ou de classe de base.
- La fabrique décide quelle classe concrète créer, en cachant les détails au client.
Exemple en C# :
// Interface du produit
interface IAnimal {
void Speak();
}
// Produits concrets
class Dog : IAnimal {
public void Speak() => Console.WriteLine("Wouf");
}
class Cat : IAnimal {
public void Speak() => Console.WriteLine("Miaou");
}
// Fabrique
class AnimalFactory {
public static IAnimal CreateAnimal(string type) {
return type switch {
"dog" => new Dog(),
"cat" => new Cat(),
_ => throw new ArgumentException("Type d'animal inconnu")
};
}
}
// Utilisation
var animal = AnimalFactory.CreateAnimal("dog");
animal.Speak(); // Affiche "Wouf"
Cette approche facilite l'ajout de nouveaux types d'objets sans modifier le code client.