Você está na página 1de 5

INTRODUO

Hoje contamos com uma quantidade grande de padres


de projeto, temos tantos padres propostos que difcil
encontrar um desenvolvedor em incio de carreira que
conhea muitos, pois bem vamos falar sobre Mediator.
O Mediator um padro de projetos comportamental
que serve para gerenciar algoritmos, relacionamentos e
responsabilidades entre objetos. Ele garante fraco
acoplamento, encapsulando um conjunto de relaes
entre componentes.
O mediator pode conter toda a lgica de controle da
aplicao dependendo da forma como ele
implementado. Quando se faz necessria alguma
mudana na lgica de controle, ou preciso adicionar
algum componente ao sistema, se sabe exatamente
onde atualizar o mediator.
Participantes:
Mediator define uma interface para comunicao
com objetos Colleague;
ConcreteMediator implementa o comportamento
cooperativo;
Colleague Classes cada classe Colleague conhece
seu objeto Mediator de outra forma; cada Colleague
se comunica com seu Mediator sempre que, de
outra forma, teria que se comunicar com outro
colega;

DIAGRAMA DE CLASSE
O exemplo abaixo e mostrado no diagrama de classes:
Um mediator usado para trocar uma mensagem
(chat) entre usurio e suporte, sem que para isso eles
se enxerguem. Aqui temos a classes Colleague
(colegas), que so as que precisam estabelecer a
comunicao.
Ambas as classes colegas, suporte e usurio, tm um
mtodo Notificar, que exibe uma mensagem recebida
pelo mesmo a partir de outro colega. Quando precisam
comunicar uma com a outra, no fazem isso
diretamente (o que causaria um acoplamento), fazem
isto atravs de um mediador (Mediator). Esse
procedimento pode ser visto no mtodo Enviar, que
implementado por ambas as classes.
O que o mtodo faz simplesmente delegar (veja, mais
uma vez delegao) a tarefa de repassar uma
mensagem para o mediador, que far um teste de
quem quer comunicar quem, entregando a mensagem
parte interessada.

O Mediator defende que se deve preparar uma interface


de comunicao entre as classes Colegas e um
ConcreterMediator seria o responsvel por gerenciar
esse relacionamento implementando a interface
definida e recebendo as mensagens dos Colegas. As
classes definidas como ConcreteColleagues se
comunicam atravs do mediador.

EXEMPLO:
Agora um exemplo tpico na vida real onde um
mediador essencial e quando observamos uma torre
de controle de um aeroporto que precisa controlar todo
o seu trfego areo.
As aeronaves (colegas) precisam utilizar essa torre
como mediador, a fim de evitar que uma aeronave
tente pousar ao mesmo tempo que outra levantando
voo. As aeronaves muitas vezes no se comunicam
entre si, seja por questes de segurana, controle, ou
at mesmo por serem de companhias e pases
diferentes (com idiomas diferentes). A presena do
mediador crucial para coordenar a comunicao entre
todos estes objetos complexos, a fim de garantir o
funcionamento do sistema.

CONCLUSO:
A inteno do mediator definir um objeto que
encapsula a interao entre um conjunto de objetos.
Assim como promove o baixo acoplamento por manter
objetos sem se referir um ao outro de forma explcita, e
que lhe permite variar sua interao
independentemente, ou seja facilita a comunicao
entre objetos sem causar acoplamento. Assim podemos
perceber a sua atuao como mediador entre
relacionamentos muitos para muitos, ao evitar uma
referncia explicita aos objetos e como concentra a
maneira como os objetos interagem.