Le modèle médiateur des modèles de conception Java est l'un des modèles comportementaux. Définissez un objet médiateur pour encapsuler l’interaction entre les objets de la série. Les médiateurs suppriment le besoin pour les objets de se référencer explicitement les uns les autres, ce qui les rend faiblement couplés et leur permet de modifier indépendamment leurs interactions.
Comme indiqué ci-dessous :
Exemples de modèles intermédiaires entre producteurs, consommateurs et agents :
public abstract class PersonColleague{ protected Mediator mediator; public Mediator getMediator() { return mediator; } public void setMediator (médiateur final) { this.mediator = mediator } protected abstract void message (contexte de chaîne);} public class Mediator{ private PersonColleague consumer = null; private ProducerColleague producteur = null; public ProducerColleague getProducer() { return producteur } public void setProducer(final) ProducerColleague producteur) { this.producer = producteur; } public PersonColleague getConsumer() { return consumer; } public void setConsumer (final PersonColleague consumer) { this.consumer = consumer; } public Mediator() { } public synchronisé void message (final String) contexte) { if (consommateur != null) { System.out.println(context); else if (producteur != null) { System.out.println(context); } }}public class ConsumerColleague extends PersonColleague{ public ConsumerColleague (médiateur final) { this.mediator = mediator; } @Override protected void message (contexte de chaîne finale) { this.mediator.setConsumer ( this); this.mediator.message("bonjour ! je suis un consommateur"); }}public class ProducerColleague extends PersonColleague{ public ProducerColleague (médiateur final) { this.mediator = mediator; } @Override protected void message (contexte de chaîne finale) { this.mediator.setProducer (this); static void main(final String[] args) { final Mediator mediator = new Mediator(); final PersonColleague person = new ConsumerColleague(mediator final PersonColleague); person1 = new ProducerColleague(mediator); person.message("Je suis un consommateur"); person1.message("Je suis un producteur" }}
Résultats en cours d'exécution :
bonjour ! je suis consommateur, je suis producteur