Facade

Architecture 🟢 Junior

Definition

Fournit une interface simplifiee a un sous-systeme complexe. Cache la complexite derriere une API unifiee et facile a utiliser.

Analogie

Le bouton 'demarrer' d'une voiture : un geste simple qui declenche demarreur, 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-systeme avec plusieurs classes interdependantes.

Anti-pattern

Transformer la facade en God Object qui fait tout au lieu de deleguer.
#architecture#interview#gof#structural