Abstract Factory
Architecture 🟡 MidDéfinition
Fournit une interface pour créer des familles d'objets lies sans spécifier leurs classes concrètes. C'est une factory de factories.
Analogie
Un catalogue IKEA par style : tu choisis 'scandinave' et tu obtiens table, chaise et lampe assorties.
Exemple de code
class DarkThemeFactory {
createButton() { return new DarkButton(); }
createInput() { return new DarkInput(); }
}
// Usage: const ui = getFactory('dark');
Cas d'usage
Créer des composants UI cohérents par theme ou des connecteurs DB par provider.
Anti-pattern
Termes liés
En entretien
Explique-moi le pattern Abstract Factory et donne un cas d'usage concret.
C'est une interface qui fournit une famille d'objets liés sans exposer leurs classes concrètes, une "factory de factories" ; on l'utilise par exemple pour créer des composants UI cohérents par thème ou des connecteurs DB par provider.
Quand faut-il éviter Abstract Factory ?
Quand tu n'as qu'un seul produit à créer : une simple Factory Method suffit, et créer une abstract factory dans ce cas est justement l'anti-pattern à éviter.
Quelle analogie utiliserais-tu pour expliquer Abstract Factory à un non-technique ?
Un catalogue IKEA par style : tu choisis "scandinave" et tu obtiens table, chaise et lampe assorties, sans savoir comment chaque meuble est fabriqué.
Fiche mise à jour le 2026-09-27