Définition: Utilisé pour réduire la complexité de la communication entre plusieurs objets et classes. Le modèle de médiateur appartient au modèle de comportement.
Caractéristiques:
1. Réduisez la complexité de la classe et convertissez un à plusieurs en un à un.
2. Découplage entre différentes classes.
3. Respectez le principe Dimit.
Applications en développement au niveau de l'entreprise et cadres communs: C en mode MVC
Exemples spécifiques:
classe publique Demo {public static void main (String [] args) {médiateur m = new mediateur (); Département D1 = nouveau département (M, «Département de développement»); Département D2 = nouveau département (M, «Département financier»); Département D3 = nouveau département (M, "Département de planification"); M.Add (D1, "DEP"); M.Add (D2, "Fin"); M.Add (D3, "C"); D2.Apply ("Il y a un projet en main à développer", "DEP"); D1.Apply ("Le projet de développement nécessite des fonds", "Fin"); D1.Apply ("Le projet a été élaboré et doit être planifié et publié", "C"); D3.Apply ("La conférence de presse nécessite des fonds", "Fin"); }} département de classe {nom de chaîne privés; médiateur médiateur privé; Département public (médiateur médiateur, nom de chaîne) {this.name = name; this.Mediator = médiateur; } public String getName () {Nom de retour; } public void setName (string name) {this.name = name; } public void applique (thorn thing, string coordonate) {System.out.println ("We Are" + this.getName () + "," + Thing + ", a besoin d'aide"); Mediator.Dispatch (ceci, chose, coordonnée); } public void manche (nom de chaîne, thory thing) {System.out.println ("We Are" + this.getName () + "," + name + "Besoin de notre aide, nous gérerons leurs affaires immédiatement"); System.out.println ("****************************************************************************************************************************************************************************. *****************************************************************************************************************************************************************************************************. ************************************************************************************************************************************************************************************************. *****************************************************************************************************************************************************************************************************. ************************************************************************************************************************************************************************************************. *****************************************************************************************************************************************************************************************************. ************************************************************************************************************************************************************************************************. *****************************************************************************************************************************************************************************************************. * Objet intermédiaire, détient tous les objets de collègues et est responsable de la planification du travail de coordination de divers départements * / class Mediator {nom de chaîne privée; Map privé <chaîne, département> map = new HashMap <String, Department> (); public void add (département D, nom de chaîne) {this.map.put (name, d); } public Void Dispatch (Department DPT, String Thing, String Coordonnées) {Department D = Map.get (Coordonnées); D.Handle (dpt.getName (), Thing); }}La différence entre le mode intermédiaire et le mode proxy: lorsque j'ai entendu parler des modes de ces deux modes, j'ai senti que ces deux modes semblaient être le même mode, mais ces deux modes étaient complètement différents. Le mode proxy a été principalement utilisé pour masquer les objets réels et empêcher les autres de connaître les détails de fonctionnement spécifiques. Le mode intermédiaire a été principalement utilisé pour complexer les interactions de plusieurs objets avec plusieurs objets. Afin de simplifier ces interactions, le mode Terminator a été trouvé.