Académique Documents
Professionnel Documents
Culture Documents
Diffrents objets ont des interactions. Un vnement sur l'un provoque une action ou des actions sur un autre ou d'autres objets.
Le Mediator agit comme relais de communication entre deux classes qui ne se connaissent pas.
Colleague : dfinit l'interface d'un collgue. Il s'agit d'une famille d'objets qui s'ignorent entre eux mais qui doivent se transmettre des informations.
//Dfinit l'interface d'un collgue. public abstract class Colleague { protected Mediateur mediateur; //Constructeur permettant de fixer le mdiateur public Colleague(Mediateur pMediateur) { mediateur = pMediateur; } public abstract void recevoirMessage(String pMessage); }
ConcreteColleagueA et ConcreteColleagueB : sont des sous-classes concrtes de l'interface Colleague. Elles ont une rfrence sur un objet Mediator auquel elles transmettront les informations.
// Sous-classe concrte de "Collegue" public class ConcreteColleagueA extends Colleague { public ConcreteColleagueA(Mediateur pMediateur) { super(pMediateur); pMediateur.setColleagueA(this); } // Mthode demandant de transmettre un message provenant de cette classe public void envoyerMessageFromA(String pMessage) { mediateur.transmettreMessageFromA(pMessage); } // Mthode recevant un message public void recevoirMessage(String pMessage) { System.out.println("ConcreteCollaegueA a reu : " + pMessage); }
Mediator : dfinit l'interface de communication entre les objets Colleague. //Dfinit l'interface d'un mdiateur. //Ralise la transmission de l'information. public interface Mediateur { // Mthodes permettant les collgues public void setColleagueA(ConcreteColleagueA pColleagueA); public void setColleagueB(ConcreteColleagueB pColleagueB); // Mthodes permettant de transmettre des messages public void transmettreMessageFromA(String pMessage); public void transmettreMessageFromB(String pMessage); }
ConcreteMediator : implmente la communication et maintient une rfrence sur les objets Colleague.
//Sous-classe concrte de Mediateur public class ConcreteMediateur implements Mediateur { private ConcreteColleagueA colleagueA; private ConcreteColleagueB colleagueB; // Mthodes permettant les collgues public void setColleagueA(ConcreteColleagueA pColleagueA) { colleagueA = pColleagueA; } public void setColleagueB(ConcreteColleagueB pColleagueB) { colleagueB = pColleagueB; } //Si le message provient de A, on le transmet B public void transmettreMessageFromA(String pMessage) { colleagueB.recevoirMessage(pMessage); //Si le message provient de B, on le transmet A public void transmettreMessageFromB(String pMessage) { colleagueA.recevoirMessage(pMessage); } }
Le MFC de Microsoft.
ATTENTION