Definição: usado para reduzir a complexidade da comunicação entre vários objetos e classes. O padrão mediador pertence ao padrão comportamental.
Características:
1. Reduza a complexidade da classe e converta um para muitos em um para um.
2. Desaparelhamento entre várias classes.
3. Conseguir com o princípio Dimit.
Aplicações no desenvolvimento de nível corporativo e estruturas comuns: C no modo MVC
Exemplos específicos:
public class Demo {public static void main (string [] args) {mediador m = novo mediador (); Departamento D1 = Novo Departamento (M, "Departamento de Desenvolvimento"); Departamento D2 = Novo Departamento (M, "Departamento Financeiro"); Departamento D3 = Novo Departamento (M, "Departamento de Planejamento"); M.Add (D1, "Dep"); M.Add (D2, "Fin"); M.Add (D3, "C"); d2.Apply ("Existe um projeto em mãos a ser desenvolvido", "dep"); d1.Apply ("O projeto de desenvolvimento requer fundos", "Fin"); d1.Apply ("O projeto foi desenvolvido e precisa ser planejado e publicado", "C"); D3.Apply ("A conferência de imprensa requer fundos", "Fin"); }} departamento de classe {nome da string privada; mediador privado mediador; departamento público (mediador mediador, nome da string) {this.name = name; this.mediator = mediador; } public string getName () {return name; } public void setName (nome da string) {this.name = name; } public void Aplicar (coisa de string, coordenada de string) {System.out.println ("nós somos"+this.getName ()+","+Thing+", precisam de ajuda"); mediator.dispatch (isso, coisa, coordenada); } public void Handle (nome da string, coisa da string) {System.out.println ("nós somos"+this.getName ()+","+nome+"Precisa da nossa ajuda, lidaremos com os assuntos deles imediatamente"); System.out.println ("******************************* ******************************************* ******************************************* ******************************************* ******************************************* ******************************************* ******************************************* ******************************************* *Objeto intermediário, mantém todos os objetos do colega e é responsável pelo agendamento de trabalhos de coordenação de vários departamentos*/Classe Mediator {private String Name; mapa privado <string, departamento> map = novo hashmap <string, departamento> (); public void Add (Departamento D, Nome da String) {this.map.put (nome, D); } expedição pública void (departamento dpt, string coisa, coordenada de string) {departamento d = map.get (coordenada); d.Handle (dpt.getName (), coisa); }}A diferença entre o modo intermediário e o modo proxy: quando ouvi pela primeira vez sobre os modos desses dois modos, senti que esses dois modos pareciam ser o mesmo modo, mas esses dois modos eram completamente diferentes. O modo proxy foi usado principalmente para ocultar objetos reais e impedir que outras pessoas conheçam os detalhes específicos da operação. O modo intermediário foi usado principalmente para interações complexas de vários objetos com vários objetos. Para simplificar essas interações, o modo Terminator foi encontrado.