Padrão de Projeto Mediator
MEDIATOR PATTERN
Curitiba, 26 de setembro de 2013
Padrão de Projeto Mediator É um padrão que encapsula a comunicação direta entre objetos, fazendo uma analogia a uma rede é como se ele fosse um “hub” que centraliza todas as conexões e se uma máquina precisa se comunicar com outra na rede deve se comunicar através deste.
Este padrão é interessante porque evita que um objeto se refira explicitamente a outro, e isso permite que as interações entre eles sejam variadas independentemente.
Nas imagens abaixo está retratado um exemplo, onde na primeira imagem não foi utilizado nenhum padrão e na segunda foi empregado o padrão Mediator.
Na imagem existem várias ligações (uma para cada sentido de comunicação) tornando a comunicação confusa e com pouca segurança já que não há nenhum tipo de controle na troca de mensagens.
Figura : Exemplo sem o padrão mediator
Já na figura a seguir o mesmo exemplo anterior é representado de uma forma bem mais organizada e simples com a utilização do padrão Mediator. Toda a comunicação é centralizada no Mediator, com isso pode-se ter um melhor controle da troca de mensagens.
Figura : Exemplo com a aplicação do Mediator
Vantagens:
Baixo acoplamento: Os objetos concretos só conhecem o Mediator, e não os objetos que estão interligados. Com isso há uma menor chance de erros na comunicação.
Alto encapsulamento: Toda a comunicação vai ser encontrada dentro do Mediator. Isso permite um melhor controle da comunicação e consequentemente uma maior segurança.
Desvantagens:
Complexidade: Como o Mediator pode conter várias ligações, em casos do código ser muito extenso o seu conteúdo pode ser muito complexo, podendo ser difícil de entender e modificar futuramente.
Desempenho: O mediator pode prejudicar o desempenho de sistemas que exijam uma grande troca de mensagens constante, pois como toda comunicação é feita através do mediator, ele