Latest web development tutorials

modello di intermediario

Modello intermedio (mediatore Pattern) viene utilizzato per ridurre la complessità di comunicazione tra una pluralità di oggetti e classi. Questo modello fornisce una classe intermedia, che si occupa in genere di comunicazione tra le diverse classi, e il supporto per debolmente accoppiati, rendendo il codice più facile da mantenere. modelli mediatore appartengono modelli comportamentali.

introduzione

Scopi: L'uso di un oggetto intermedio che incapsula un insieme di oggetti interagiscono oggetti Tenuta intermedi da riferimento l'uno all'altro in modo esplicito, rendendo accoppiamento lasco, e può cambiare autonomamente la loro interazione.

Principalmente per risolvere: ci sono molti oggetti e relazioni tra oggetti, ciò inevitabilmente alla struttura del sistema diventa molto complicato, ma se un oggetto è cambiato, dobbiamo anche tenere traccia degli oggetti ad esso associati, e rendere il trattamento appropriato .

Quando utilizzare: più classi accoppiati tra loro, formando una struttura di rete.

Come risolvere: la struttura di rete di cui sopra è separato nella struttura a stella.

La chiave di codice: la comunicazione tra Collega oggetti incapsulano una classe a parte.

Esempi di applicazione: 1, prima dell'adesione della Cina all'OMC è vari paesi commerciano con l'altro, struttura complessa, è da paesi dell'OMC per il commercio con l'altro.2, sistema di pianificazione aeroportuale. 3, framework MVC, dove C (il controllore) si M (modello) e V mediatore (vista).

Vantaggi: 1, riducendo la complessità della classe saranno convertiti in uno-a-molti.2, ogni disaccoppiamento tra le classi. 3, in linea con i principi di Demetra.

Svantaggi: grande mediatore sarà complesso e difficile da mantenere.

Scenari di utilizzo: 1 esiste tra oggetti nel sistema di riferimento rapporto più complesso, portando alla dipendenza tra loro confusa e difficile riutilizzare la struttura dell'oggetto.2, vogliono una classe media che incapsula il comportamento di più classi, e non vogliono generare troppi sottoclassi.

Nota: non dovrebbe essere usato quando la confusione responsabilità.

realizzazione

Camminiamo per il tramite istanza camere modello di chat. Esempio, più utenti possono inviare messaggi alle camere, stanze di chat chat, il messaggio viene visualizzato a tutti gli utenti. Creeremo due classiChatRoomeutente.oggettiUtentemodiChatroomper condividere le loro notizie.

MediatorPatternDemo,dimostriamo l'uso di oggetti di classeutenteper visualizzare la comunicazione tra di loro.

modello mediatore diagramma UML

fase 1

Crea classe intermedia.

ChatRoom.java

import java.util.Date;

public class ChatRoom {
   showMessage public static void (Utente, String message) {
      System.out.println (new Date (). ToString ()
         + "[" + User.getName () + "]:" il messaggio +);
   }
}

fase 2

Creare una classe utente.

User.java

public class User {
   private String name;

   public String getName () {
      Nome tornare;
   }

   setName public void (String name) {
      this.name = nome;
   }

   User pubblico (String name) {
      this.name = nome;
   }

   sendMessage public void (String message) {
      ChatRoom.showMessage (questo, messaggio);
   }
}

fase 3

Utilizzare l'oggettoutenteper visualizzare la comunicazione tra di loro.

MediatorPatternDemo.java

public class MediatorPatternDemo {
   Main (string [] args) {public static void
      Robert utente = new User ( "Robert");
      John utente = new User ( "John");

      robert.sendMessage ( "Ciao John !!");
      john.sendMessage ( "Ciao Robert !!");
   }
}

fase 4

Verifica uscita.

Gio 31 Gen 16:05:46 CEST 2013 [Robert] :! Ciao John!
Gio 31 Gen 16:05:46 CEST 2013 [John] :! Ciao Robert!