Design Patterns - Mediator Pattern

Il modello mediatore viene utilizzato per ridurre la complessità della comunicazione tra più oggetti o classi. Questo modello fornisce una classe mediatore che normalmente gestisce tutte le comunicazioni tra classi diverse e supporta una facile manutenzione del codice mediante accoppiamento libero. Il modello del mediatore rientra nella categoria del modello comportamentale.

Implementazione

Stiamo dimostrando il modello di mediatore con l'esempio di una chat room in cui più utenti possono inviare messaggi alla chat room ed è responsabilità della chat room mostrare i messaggi a tutti gli utenti. Abbiamo creato due classi ChatRoom e User . Gli oggetti utente useranno il metodo ChatRoom per condividere i loro messaggi.

MediatorPatternDemo , la nostra classe demo, utilizzerà gli oggetti utente per mostrare la comunicazione tra di loro.

Passo 1

Crea un corso di mediatore.

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);
   }
}

Passo 2

Crea classe utente

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);
   }
}

Passaggio 3

Usa l' oggetto Utente per mostrare le comunicazioni tra di loro.

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!");
   }
}

Passaggio 4

Verifica l'output.

Thu Jan 31 16:05:46 IST 2013 [Robert] : Hi! John!
Thu Jan 31 16:05:46 IST 2013 [John] : Hello! Robert!