La Fabrique est un patron de conception de création qui permet de créer des produits sans avoir à préciser leurs classes concrètes.
La fabrique définit une méthode qui doit être utilisée pour créer des objets à la place de l’appel au constructeur (opérateur new). Les sous-classes peuvent redéfinir cette méthode pour modifier la classe des objets qui seront créés.
Lisez notre Comparaison des fabriques si vous avez du mal à saisir la différence entre les divers concepts et patrons.
Identification : La fabrique peut être reconnue grâce à ses méthodes de création qui produisent des objets depuis les classes concrètes, mais les retournent en tant qu’objets de type abstrait ou d’interface.
Fabrication d’éléments d’une GUI multiplateforme
Dans cet exemple, les boutons jouent le rôle du produit et les boîtes de dialogue sont les créateurs.
Les différentes boîtes de dialogues ont besoin de leurs propres types d’éléments. C’est pour cela que nous créons une sous-classe pour chaque boîte de dialogue et redéfinissons leur fabrique.
À présent, chaque boîte de dialogue instanciera ses propres classes de boutons. La boîte de dialogue de base utilise une interface commune pour manipuler les produits, ainsi son code fonctionne toujours même après toutes ces modifications.
buttons
buttons/Button.java: Interface commune des produits
buttons/HtmlButton.java: Produit concret
buttons/WindowsButton.java: Produit concret supplémentaire