Latest web development tutorials

modèle intermédiaire

modèle intermédiaire (Mediator Pattern) est utilisé pour réduire la complexité de la communication entre une pluralité d'objets et de classes. Ce modèle fournit une classe intermédiaire, qui gère généralement les communications entre les différentes classes, et le soutien à couplage lâche, ce qui rend le code plus facile à entretenir. modèles Mediator appartiennent les comportements.

introduction

Intention: L'utilisation d'un objet intermédiaire qui encapsule un ensemble d'objets interagissent objets de maintien intermédiaires de se référer les uns aux autres de manière explicite, ce qui rend le couplage lâche, et peut indépendamment changer l'interaction entre eux.

Principalement pour résoudre: il y a beaucoup d'objets et de relations entre les objets, ce qui conduira inévitablement à la structure du système devient très compliqué, mais si un objet est modifié, nous avons besoin aussi de garder une trace des objets qui lui sont associés, et rendre le traitement approprié .

Quand utiliser plusieurs classes couplés les uns aux autres, formant une structure de réseau.

Comment corriger: la structure du réseau mentionné ci-dessus est séparé dans la structure en étoile.

Le code clé: communication entre Collègue objets encapsuler une classe séparément.

Exemples d'application: 1, avant l'adhésion de la Chine à l' OMC est les différents pays échangent entre eux, structure complexe, il est par les pays de l' OMC pour le commerce les uns avec les autres.2, système de planification de l'aéroport. 3, framework MVC, où C (le contrôleur) est M (modèle) et V (vue) médiateur.

Avantages: 1, ce qui réduit la complexité de la classe sont converties en un à plusieurs.2, chaque découplage entre les classes. 3, en conformité avec les principes de Demeter.

Inconvénients: grand courtier deviendra complexe et difficile à maintenir.

Lesscénarios d'utilisation: 1 existe entre les objets dans le système de relation de référence plus complexe, ce qui conduit à la dépendance entre eux confus et difficile à réutiliser la structure de l'objet.2, veulent une classe moyenne qui encapsule le comportement de plusieurs classes, et ne veulent pas générer trop de sous-classes.

Remarque: il ne doit pas être utilisé lorsque la confusion des responsabilités.

réalisation

Parcourons l'instance chambres modèle de chat intermédiaire. Exemple, plusieurs utilisateurs peuvent envoyer des messages à chat rooms, salles de chat, un message est affiché à tous les utilisateurs. Nous allons créer deux classesChatRoometutilisateur.ObjetsutilisateurChatroom façons de partager leurs nouvelles.

MediatorPatternDemo,nous démontrons l'utilisation de l' objet de classed'utilisateurpour afficher la communication entre eux.

motif médiateur diagramme UML

Etape 1

Créer classe intermédiaire.

ChatRoom.java

import java.util.Date;

public class ChatRoom {
   showMessage public static void (utilisateur de l'utilisateur, un message String) {
      System.out.println (new Date (). ToString ()
         + "[" + User.getName () + "]:" + message);
   }
}

Etape 2

Créer une classe d'utilisateurs.

User.java

public class utilisateur {
   private String nom;

   public String getName () {
      Nom de retour;
   }

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

   Utilisateur publique (String nom) {
      this.name = nom;
   }

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

Etape 3

Utilisez l'objetdel'utilisateurpour afficher la communication entre eux.

MediatorPatternDemo.java

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

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

Etape 4

Vérifiez la sortie.

Jeu 31 janvier 16:05:46 IST 2013 [Robert] :! Salut Jean!
Jeu 31 janvier 16:05:46 IST 2013 [John] :! Bonjour Robert!