Factory Method

Architecture 🟢 Junior

Definition

Definit une interface pour creer un objet, mais laisse les sous-classes decider quelle classe instancier. Permet de deleguer la logique de creation.

Analogie

Un restaurant avec une carte : tu choisis 'pizza' et la cuisine decide quelle recette exacte preparer.

Exemple de code

class NotifFactory {
  create(type) {
    if (type === 'email') return new EmailNotif();
    if (type === 'sms') return new SmsNotif();
    throw new Error('Unknown type');
  }
}

Cas d'usage

Quand la logique de creation varie selon le contexte et qu'on veut eviter les if/else dans le code client.

Anti-pattern

Mettre toute la logique de creation dans le constructeur au lieu de la deleguer.
#architecture#interview#gof#creational