Latest web development tutorials

modelo intermediário

modelo intermediário (Mediator) é utilizado para reduzir a complexidade de comunicação entre uma pluralidade de objectos e classes. Este modelo fornece uma classe intermediária, que normalmente trata as comunicações entre as diferentes classes, e suporte para baixo acoplamento, tornando o código mais fácil de manter. padrões mediador pertencem padrões comportamentais.

introdução

Intenção: O uso de um objeto intermediário que encapsula um conjunto de objetos interagem objetos manutenção intermediários de se referir uns aos outros de forma explícita, tornando-se o acoplamento fraco, e pode mudar de forma independente a interação entre eles.

Principalmente para resolver: há um monte de objetos e relações entre objetos, isso conduzirá inevitavelmente à estrutura do sistema torna-se muito complicado, mas se um objeto é alterado, também precisa manter o controle de objetos associados a ele, e fazer o tratamento adequado .

Quando se deve utilizar: várias classes acoplados uns com os outros, formando uma estrutura em rede.

Como corrigir: a estrutura de rede acima mencionada é separado em a estrutura em estrela.

O código-chave: comunicação entre Colega objetos encapsular uma classe separadamente.

Exemplos de aplicação: 1, antes da adesão da China à OMC é a vários países negociar uns com os outros estrutura, complexo, é por países da OMC para o comércio com o outro.2, sistema de agendamento aeroporto. 3, framework MVC, onde C (o controlador) é M (modelo) e V (vista) mediador.

Vantagens: 1, reduzindo a complexidade da classe irá ser convertido em um-para-muitos.2, cada dissociação entre as classes. 3, em linha com os princípios da Demeter.

Desvantagens: grande corretor irá tornar-se complexa e difícil de manter.

cenários de uso: 1 existe entre objetos no sistema de relacionamento referência mais complexo, levando à dependência entre eles confuso e difícil de reutilizar a estrutura do objeto.2, quer uma classe média que encapsula o comportamento de várias classes, e não quer gerar muitas subclasses.

Nota: não deve ser usado quando a confusão responsabilidade.

realização

Vamos percorrer a instância salas de bate-papo modelo intermediário. Exemplo, vários usuários podem enviar mensagens para quartos, salas de chat de bate-papo, mensagem é exibida para todos os usuários. Vamos criar duas classesChatRoomedo usuário.objetosde usuáriomaneirassala de chatpara compartilhar suas notícias.

MediatorPatternDemo,demonstramos o uso do objeto de classedo usuáriopara exibir a comunicação entre eles.

Mediator UML diagrama

passo 1

Criar classe intermediária.

ChatRoom.java

import java.util.Date;

ChatRoom classe pública {
   showMessage public static void (usuário do usuário, mensagem String) {
      System.out.println (new Date (). ToString ()
         + "[" + User.getName (+) "]:" + message);
   }
}

passo 2

Criar uma classe de usuário.

User.java

classe pública usuário {
   private String nome;

   Cadeia getName pública () {
      nome de retornar;
   }

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

   Usuário pública (String nome) {
      this.name = nome;
   }

   sendMessage public void (String message) {
      ChatRoom.showMessage (isto, da mensagem);
   }
}

passo 3

Use o objetodo usuáriopara exibir a comunicação entre eles.

MediatorPatternDemo.java

classe pública MediatorPatternDemo {
   main (String [] args) public static void {
      Do usuário robert = new User ( "Robert");
      Do usuário john = new User ( "John");

      robert.sendMessage ( "Hi John !!");
      john.sendMessage ( "Olá Robert !!");
   }
}

passo 4

Verifique saída.

Qui 31 janeiro 16:05:46 IST 2013 [Robert] :! Hi John!
Qui 31 janeiro 16:05:46 IST 2013 [John] :! Olá Robert!