Abstract Factory
Architecture 🟡 MidDefinition
Fournit une interface pour creer des familles d'objets lies sans specifier leurs classes concretes. 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
Creer des composants UI coherents par theme ou des connecteurs DB par provider.
Anti-pattern
Creer une abstract factory pour un seul produit — utiliser Factory Method suffit.