Abstract Factory

Architecture 🟡 Mid

Dé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

Créer une abstract factory pour un seul produit — utiliser Factory Method suffit.
#architecture#interview#gof#creational

En entretien

  1. 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.

  2. 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.

  3. 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

← → au clavier pour passer d'une fiche à l'autre