Definición: Se utiliza para reducir la complejidad de la comunicación entre múltiples objetos y clases. El patrón mediador pertenece al patrón de comportamiento.
Características:
1. Reduzca la complejidad de la clase y convierta de uno a muchos en uno a uno.
2. Desacoplamiento entre varias clases.
3. CONFIGURAR CON EL PRINCIPIO DE DIMIT.
Aplicaciones en desarrollo de nivel empresarial y marcos comunes: C en modo MVC
Ejemplos específicos:
Public Class Demo {public static void main (string [] args) {mediator m = new Mediator (); Departamento D1 = Nuevo Departamento (M, "Departamento de Desarrollo"); Departamento D2 = Nuevo Departamento (M, "Departamento Financiero"); Departamento D3 = Nuevo Departamento (M, "Departamento de Planificación"); M.Add (D1, "DEP"); M.Add (d2, "aleta"); M.Add (D3, "C"); d2.Apply ("Hay un proyecto en la mano para desarrollarse", "Dep"); d1.apply ("El proyecto de desarrollo requiere fondos", "fin"); d1.apply ("El proyecto se ha desarrollado y necesita ser planificado y publicado", "C"); d3.Apply ("La conferencia de prensa requiere fondos", "fin"); }} Departamento de clases {nombre de cadena privada; mediador privado mediador; departamento público (mediador mediador, nombre de cadena) {this.name = name; this.mediator = mediador; } public String getName () {nombre de retorno; } public void setName (nombre de cadena) {this.name = name; } public void Aplicar (String Thing, String Coordinate) {System.out.println ("We Are"+this.getName ()+","+Thing+", necesita ayuda"); mediador.dispatch (esta, cosa, coordenada); } public void many (name, string tear) {system.out.println ("somos"+this.getName ()+","+nombre+"Necesita nuestra ayuda, manejaremos sus asuntos inmediatamente"); System.out.println ("*********************************************************************************************************************************************************************************************************************A* **********************************************************************************************************************************************************************************************************************************************************A *****************************************************************************************************************************************************************************************-- **********************************************************************************************************************************************************************************************************************************************************A *****************************************************************************************************************************************************************************************-- **********************************************************************************************************************************************************************************************************************************************************A *****************************************************************************************************************************************************************************************-- **********************************************************************************************************************************************************************************************************************************************************A *Objeto intermediario, posee todos los objetos de colega y es responsable de programar el trabajo de coordinación de varios departamentos*/class Mediator {Nombre de cadena privada; Mapa privado <String, Departamento> MAP = New HashMap <String, Departamento> (); public void add (departamento d, nombre de cadena) {this.map.put (nombre, d); } Public void Dispatch (del departamento dpt, string asme, string coordinate) {departamento d = map.get (coordinado); d.handle (dpt.getName (), cosa); }}La diferencia entre el modo intermediario y el modo proxy: cuando escuché por primera vez sobre los modos de estos dos modos, sentí que estos dos modos parecían ser el mismo modo, pero estos dos modos eran completamente diferentes. El modo proxy se usó principalmente para ocultar objetos reales y evitar que otros conozcan los detalles de la operación específicos. El modo intermediario se usó principalmente para interacciones complejas de múltiples objetos con múltiples objetos. Para simplificar estas interacciones, se encontró el modo Terminator.