trab_padrao_projmediator

10
MEDIATOR Padrão de projeto David, Fabrício e Maurício

Upload: mauricio-constantino

Post on 07-Jul-2016

213 views

Category:

Documents


0 download

DESCRIPTION

Definição do Padrão de Projeto Mediator

TRANSCRIPT

Page 1: Trab_Padrao_ProjMEDIATOR

MEDIATORPadrão de projeto

David, Fabrício e Maurício

Page 2: Trab_Padrao_ProjMEDIATOR

Introdução

Hoje contamos com uma quantidade grande de padrões de projeto, temos tantos padrões propostos que é difícil encontrar um desenvolvedor em início de carreira que conheça muitos, pois bem vamos falar sobre Mediator.

Page 3: Trab_Padrao_ProjMEDIATOR

O Mediator é um padrão de projetos comportamental que serve para gerenciar algoritmos, relacionamentos e responsabilidades entre objetos. Ele garante fraco acoplamento, encapsulando um conjunto de relações entre componentes. O mediator pode conter toda a lógica de controle da aplicação dependendo da forma como ele é implementado. Quando se faz necessária alguma mudança na lógica de controle, ou é preciso adicionar algum componente ao sistema, se sabe exatamente onde atualizar o mediator.

Page 4: Trab_Padrao_ProjMEDIATOR

Participantes:

Mediator – define uma interface para comunicação 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;

Page 5: Trab_Padrao_ProjMEDIATOR

Diagrama de Classe

O exemplo abaixo e mostrado no diagrama de classes:

Um mediator é usado para trocar uma mensagem (chat) entre usuário e suporte, sem que para isso eles se enxerguem. Aqui temos a classes Colleague (colegas), que são as que precisam estabelecer a comunicação.

Page 6: Trab_Padrao_ProjMEDIATOR
Page 7: Trab_Padrao_ProjMEDIATOR

O Mediator defende que se deve preparar uma interface de comunicação entre as classes “Colegas” e um ConcreterMediator seria o responsável por gerenciar esse relacionamento implementando a interface definida e recebendo as mensagens dos “Colegas”. As classes definidas como “ConcreteColleagues” se comunicam através do mediador.

Page 8: Trab_Padrao_ProjMEDIATOR
Page 9: Trab_Padrao_ProjMEDIATOR

EXEMPLO:Agora um exemplo típico na vida real onde um mediador é essencial e quando observamos uma torre de controle de um aeroporto que precisa controlar todo o seu tráfego aéreo.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 não se comunicam entre si, seja por questões de segurança, controle, ou até mesmo por serem de companhias e países diferentes (com idiomas diferentes). A presença do mediador é crucial para coordenar a comunicação entre todos estes objetos complexos, a fim de garantir o funcionamento do sistema.

Page 10: Trab_Padrao_ProjMEDIATOR

Conclusão

A intenção do mediator é definir um objeto que encapsula a interação entre um conjunto de objetos. Assim como promove o baixo acoplamento por manter objetos sem se referir um ao outro de forma explícita, e que lhe permite variar sua interação independentemente, ou seja facilita a comunicação entre objetos sem causar acoplamento. Assim podemos perceber a sua atuação como mediador entre relacionamentos muitos para muitos, ao evitar uma referência explicita aos objetos e como concentra a maneira como os objetos interagem.