Modèle d’usine simple
Le patron d’usine simple encapsule le processus de création d’objets dans une seule méthode et n’implique pas d’héritage. Il s’agit d’une implémentation de base dans laquelle une classe contient une méthode pour créer des instances d’autres classes. Cette méthode prend généralement des paramètres pour décider de l’instance à créer.
Voici un exemple en C# :
|
|
La méthode d’usine
Le patron de la méthode d’usine implique une méthode dans une classe de base qui est surchargée par les sous-classes pour créer des instances spécifiques. Ce modèle utilise l’héritage et s’appuie sur les sous-classes pour gérer l’instanciation des objets.
Voici un exemple en C# :
|
|
Comparons les deux approches
- Héritage :
- Dans l’Usine simple, nous utilisons une seule classe avec une méthode statique. Il n’y a pas d’héritage.
- Dans la Méthode d’usine, nous utilisons l’héritage. La classe de base définit une méthode d’usine et les sous-classes la surchargent pour créer des instances spécifiques.
- La flexibilité et l’extensibilité :
- Dans l’Usine simple, l’ajout d’un nouveau produit nécessite de modifier la classe de la factory, ce qui peut enfreindre le principe d’ouverture/fermeture.
- Dans la Méthode d’usine, l’ajout d’un nouveau produit implique la création d’une nouvelle sous-classe. La classe de base n’a pas besoin d’être modifiée, ce qui est conforme au principe d’ouverture/fermeture.
- Responsabilité :
- Dans l’Usine simple, la méthode est chargée de décider quelle classe doit être instanciée en fonction des paramètres.
- Dans la Méthode d’usine, la décision de la classe à instancier reste du ressort des sous-classes.
Ressources pour une lecture plus approfondie
- Design Patterns : « Elements of Reusable Object-Oriented Software » par Erich Gamma, Richard Helm, Ralph Johnson, et John Vlissides (Gang of Four)
- Microsoft Docs - Méthode d’usine
- Refactoring Guru—Méthode d’usine
Ces exemples et explications devraient enrichir votre compréhension des deux modèles de patrons de conception et de leurs différences.
Le patron de la Méthode d’usine est celui que nous utilisons le plus dans le développement de logiciels, mais vous verrez ou utiliserez l’Usine simple de temps en temps.
La Méthode d’usine peut sembler exagérée en ce qui concerne la quantité de code dont vous avez besoin.
En fonction de votre base de code et de la taille du projet, vous pouvez préférer une méthode à l’autre.
L’adhésion au principe d’ouverture/fermeture peut guider votre choix.
Suivez-moi !
Merci d’avoir lu cet article. Assurez-vous de me suivre sur X, de vous abonner à ma publication Substack et d’ajouter mon blog à vos favoris pour ne pas manquer les prochains articles.