Modèles de conception - Modèle de médiateur
Le modèle Mediator est utilisé pour réduire la complexité de la communication entre plusieurs objets ou classes. Ce modèle fournit une classe de médiateur qui gère normalement toutes les communications entre les différentes classes et prend en charge une maintenance aisée du code par couplage lâche. Le modèle de médiateur relève de la catégorie de modèle de comportement.
la mise en oeuvre
Nous présentons un modèle de médiateur par exemple d'une salle de discussion où plusieurs utilisateurs peuvent envoyer un message à une salle de discussion et il est de la responsabilité de la salle de discussion de montrer les messages à tous les utilisateurs. Nous avons créé deux classes ChatRoom et User . Les objets utilisateur utiliseront la méthode ChatRoom pour partager leurs messages.
MediatorPatternDemo , notre classe de démonstration, utilisera des objets User pour montrer la communication entre eux.
Étape 1
Créez une classe de médiateur.
ChatRoom.java
import java.util.Date;
public class ChatRoom {
public static void showMessage(User user, String message){
System.out.println(new Date().toString() + " [" + user.getName() + "] : " + message);
}
}
Étape 2
Créer une classe d'utilisateurs
User.java
public class User {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public User(String name){
this.name = name;
}
public void sendMessage(String message){
ChatRoom.showMessage(this,message);
}
}
Étape 3
Utilisez l' objet Utilisateur pour afficher les communications entre eux.
MediatorPatternDemo.java
public class MediatorPatternDemo {
public static void main(String[] args) {
User robert = new User("Robert");
User john = new User("John");
robert.sendMessage("Hi! John!");
john.sendMessage("Hello! Robert!");
}
}
Étape 4
Vérifiez la sortie.
Thu Jan 31 16:05:46 IST 2013 [Robert] : Hi! John!
Thu Jan 31 16:05:46 IST 2013 [John] : Hello! Robert!