Abstract Factory est un modèle de création qui fournit une interface permettant de créer des familles d'objets liés ou dépendants sans spécifier leurs classes concrètes. Considérez-le comme une usine d'usines : vous choisissez une usine et tous les objets que vous créez grâce à elle sont garantis compatibles les uns avec les autres.
Le problème : les familles d’interface utilisateur
Vous créez une boîte à outils d'interface utilisateur multiplateforme. Vous disposez de widgets Bouton et Case à cocher. Chaque plate-forme (Windows, macOS, Linux) a besoin de sa propre apparence. Vous devez garantir que si vous créez un WindowsButton, vous créez également un WindowsCheckbox – jamais une famille mixte comme WindowsButton + MacCheckbox.
Participants
Exemple de code complet
Usine abstraite vs méthode d'usine
Usine abstraite dans la bibliothèque standard Java