Bridge

Architecture 🔴 Senior

Definition

Decouple une abstraction de son implementation pour qu'elles puissent varier independamment. Evite l'explosion combinatoire de sous-classes.

Analogie

Une telecommande universelle : la telecommande (abstraction) fonctionne avec n'importe quelle TV (implementation).

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) generent trop de sous-classes.

Anti-pattern

Heriter pour chaque combinaison : RedCircle, BlueCircle, RedSquare...
#architecture#interview#gof#structural