Le Mediator Un design pattern orientobjet Problme Lorsquon
Le Mediator Un design pattern orientéobjet
Problème Lorsqu’on programme en OO, souvent on arrive avec plusieurs classes qui communiquent avec plusieurs autres classes. n On veut donc que ces classes puissent communiquer sans qu’ils se connaissent. n
La Solution Le Mediator Design Pattern n Le Mediator agit comme relais de communication entre deux classes qui ne se ‘connaissent’ pas. n
Diagramme UML
Rôles des Classes La classe Mediator est une interface. n La classe Colleague est aussi une interface. n La classe Concrete. Mediator est l’implémentation de l’interface Mediator. Cette classe retransmet tous messages lorsqu’il reçoit un send d’un Colleague. n
Rôles des Classes (suite) n Les Classes Concrete. Colleague 1 et Concrete. Colleague 2 implémente l’interface Colleague. La méthode send() envoi des messages au autres Colleague. La méthode receive() est appelé lorsque un message est retransmit via le Mediator.
Avantages et Désavantages n Avantages ¨ Le changement du système se fait façilement en changeant le Mediator. ¨ Le système est façile à comprendre. ¨ Le Mediator favorise une relation un-àplusieurs au lieu de plusieurs-à-plusieurs
n Désavantages ¨ La classe Mediator a la possibilité d’être très complexe et difficile à maintenir.
Exemple dans le monde Réel Le MFC de Microsoft est un exemple de l’utilisation du Mediator pattern. n Les divers programmes de ‘chat’ utilisent le Mediator pattern. n
Bibliographie http: //www. dofactory. com/Patterns/Pattern Mediator. aspx n http: //my. execpc. com/~gopalan/design/be havioral/mediator. html n
- Slides: 10