Médiateur

Gamma et al. 95

Objectif

  • Définir un objet qui encapsule l’interaction entre un ensemble d’objets.

  • Réduire le couplage entre objets, en évitant les références explicites.

Motivation (1/4)

  • La conception à objets induit à la création de plusieurs petits objets réutilisables.

  • Cependant, s’il existe une dépendance forte entre ces objets, ils seront difficilement réutilisables.

  • Exemple: un boîte de dialogues est difficilement réutilisable en raison des dépendances entre éléments graphiques.

Motivation (2/4)

mediator font chooser
mediator instances

Motivation (3/4)

mediator sd

Motivation (4/4)

mediator example

Applicabilité

Utiliser un médiateur quand:
  • un ensemble d’objets doit communiquer, d’une manière bien définie, mais complexe.

  • le réutilisation d’un objet est difficile car il fait référence et communique avec beaucoup d’objets.

  • le comportement répartie par plusieurs classes doit être adaptable.

Structure

mediator structure

Conséquences

  • Le changement du comportement de différents objets s’effectue sur le médiateur

  • Le couplage entre collègues est réduit

  • Le protocole d’interactions est simplifié

  • La coopération entre objets est réifiée

  • Le contrôle est centralisé

Compromis d’implémentation

  • Médiateur abstrait

  • La communication entre les collègues et le médiateur peut être réalisée par un observateur