Bridge

Architecture 🔴 Senior

Définition

Découplé une abstraction de son implémentation pour qu'elles puissent varier indépendamment. Évite l'explosion combinatoire de sous-classes.

Analogie

Une télécommande universelle : la télécommande (abstraction) fonctionne avec n'importe quelle TV (implémentation).

Exemple de code

class Notification {
  constructor(sender) { this.sender = sender; }
  send(msg) { this.sender.deliver(msg); }
}
// new Notification(new SmsSender()).send('Hi');

Cas d'usage

Quand deux dimensions de variation (ex: forme + couleur) génèrent trop de sous-classes.

Anti-pattern

Hériter pour chaque combinaison : RedCircle, BlueCircle, RedSquare...
#architecture#interview#gof#structural

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