Factory Method

Architecture 🟢 Junior

Définition

Définit une interface pour créer un objet, mais laisse les sous-classes décider quelle classe instancier. Permet de déléguer la logique de création.

Analogie

Un restaurant avec une carte : tu choisis 'pizza' et la cuisine décidé quelle recette exacte préparer.

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 création varie selon le contexte et qu'on veut éviter les if/else dans le code client.

Anti-pattern

Mettre toute la logique de création dans le constructeur au lieu de la déléguer.
#architecture#interview#gof#creational

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