Facade

Architecture 🟢 Junior

Définition

Fournit une interface simplifiée a un sous-système complexe. Cache la complexité derrière une API unifiée et facile a utiliser.

Analogie

Le bouton 'démarrer' d'une voiture : un geste simple qui déclenche démarreur, injection, allumage.

Exemple de code

class OrderFacade {
  async placeOrder(cart) {
    await this.payment.charge(cart.total);
    await this.inventory.reserve(cart.items);
    await this.shipping.schedule(cart.address);
  }
}

Cas d'usage

Simplifier l'utilisation d'un sous-système avec plusieurs classes interdépendantes.

Anti-pattern

Transformer la façade en God Object qui fait tout au lieu de déléguer.
#architecture#interview#gof#structural

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