Latest web development tutorials

Intermediary Modell

Intermediär-Modell (Mediator Pattern) wird verwendet, um die Komplexität der Kommunikation zwischen einer Vielzahl von Objekten und Klassen zu verringern. Dieses Modell liefert eine Zwischenklasse, die in der Regel die Kommunikation zwischen verschiedenen Klassen behandelt, und die Unterstützung für lose gekoppelte, so dass der Code leichter zu pflegen. Mediator-Muster gehören Verhaltensmuster.

Einführung

Absichten: Die Verwendung eines Zwischenobjekt , das eine Reihe von Objekten kapselt interagieren Vermittler Haltung Objekte aus explizit zueinander beziehen, es lose Kopplung zu machen, und die Interaktion zwischen ihnen unabhängig zu ändern.

Hauptsächlich zu lösen: es gibt eine Menge von Objekten und Beziehungen zwischen den Objekten sind, wird dies unweigerlich zu der Struktur des Systems führen wird sehr kompliziert, aber wenn ein Objekt verändert wird, müssen wir auch damit verbundenen Spur von Gegenständen zu halten, und die entsprechende Behandlung machen .

Wenn verwenden: mehrere Klassen miteinander gekoppelt sind , eine Netzwerkstruktur zu bilden.

Wie zu beheben: die oben genannte Netzstruktur in die Sternstruktur getrennt ist.

Der Schlüsselcode: Kommunikation zwischen Kollegen Objekten getrennt , eine Klasse zu kapseln.

Anwendungsbeispiele: 1, vor dem Beitritt Chinas zur WTO ist die verschiedenen Länder miteinander, komplexe Struktur handeln, ist es von den Ländern WTO miteinander Handel zu treiben.2, Flughafen Scheduling-System. 3, MVC-Framework, wobei C (Steuerung) ist M (Modell) und V (Ansicht) Vermittler.

Vorteile: 1, um die Komplexität der Klasse reduziert wird in einer Eins-zu-viele umgewandelt werden.2, jede Entkopplung zwischen den Klassen. 3, in Einklang mit den Grundsätzen der Demeter.

Nachteile: große Broker wird sich komplex und schwer zu halten.

Nutzungsszenarien: 1 besteht zwischen Objekten in dem System komplexer Referenzbeziehung, was zu einer Abhängigkeit unter ihnen verwirrend und schwierig , die Struktur des Objekts wiederzuverwenden.2, eine Mittelklasse wollen, die das Verhalten von mehreren Klassen kapselt, und wollen nicht zu viele Unterklassen zu erzeugen.

Hinweis: Es darf nicht verwendet werden , wenn die Verantwortung Verwirrung.

Realisierung

Gehen wir durch die Vermittlung Modell Chaträume Instanz. Beispiel können mehrere Benutzer Nachrichten senden Chatrooms, Chatrooms, wird Nachricht an alle Benutzer angezeigt. Wir werden zwei KlassenChatroomundBenutzer erstellen.BenutzerobjekteChatroomMöglichkeiten , um ihre Nachrichten zu teilen.

MediatorPatternDemo,zeigen wir die Verwendung vonObjektbenutzerklassezwischen ihnen die Kommunikation anzuzeigen.

Mediator Muster UML-Diagramm

Schritt 1

Erstellen Vermittler-Klasse.

ChatRoom.java

import java.util.Date;

public class {Chatroom
   public static void showmessage (Benutzer Benutzer, String message) {
      System.out.println (new Date (). ToString ()
         + "[" + User.getName () + "]:" + message);
   }
}

Schritt 2

Erstellen Sie eine Benutzerklasse.

User.java

public class User {
   private String name;

   public String getName () {
      Rückkehr Name;
   }

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

   öffentliche Benutzer (String name) {
      this.name = name;
   }

   public void nachrichts (String message) {
      ChatRoom.showMessage (this, Nachricht);
   }
}

Schritt 3

Verwenden Sie dasBenutzerobjektdie Kommunikation zwischen ihnen angezeigt werden soll .

MediatorPatternDemo.java

public class MediatorPatternDemo {
   public static void main (String [] args) {
      Benutzer robert = new User ( "Robert");
      User-john = new User ( "John");

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

Schritt 4

Stellen Sie sicher, ausgegeben.

Do 31. Januar 16.05.46 IST 2013 [Robert] :! Hallo John!
Do 31. Januar 16.05.46 IST 2013 [John] :! Hallo Robert!