Sie sind auf Seite 1von 12

Mediator

Eder Carlos George Freire Wagner Castro

Sumrio
INTRODUO INTENO APLICABILIDADE ESTRUTURA VANTAGENS x DESVANTAGENS PADRES RELACIONADOS IMPLEMENTAO REFERNCIAS

Introduo
PADRES DE PROJETO GOF

CRIACIONAIS COMPORTAMENTAIS

ESTRUTURAIS

MEDIATOR

Inteno
Definir um objeto que encapsula a forma como um conjunto de objetos interage. O Mediator promove o acoplamento fraco ao evitar que objetos se refiram uns aos outros explicitamente e permitir variar suas interaes independentemente (Gof). Exemplo: interaes entre pginas web de um ecommerce.

Inteno
Atua como mediador entre relacionamentos muitos para muitos, concentrando a maneira como os objetos interagem. Exemplo: Inmeros embarques e desembarques gerenciados por um Centro Controlador de Trfego Areo.

Aplicabilidade
Quando um conjunto de objetos se comunica entre si de modo bem definido , mas complexo; Quando difcil reusar um objeto porque ele se comunica com muitos outros objetos ; Quando o comportamento distribudo entre diversas classes deve ser personalizado sem excesso de subclasses; Exemplos:
Muito til para programadores Visual Basic (principalmente das verses 5 e 6), pois ele um atalho para a falta de herana. Java Message Service (JMS); Java.util.Timer class scheduleXXX() methods; Java Concurrency Executor execute () method; Java.lang.reflect.Method invoke() method;

Estrutura

Estrutura
Mediator:
Define uma interface de comunicao com objetos da classe Colleague;

Concrete Mediator:
Faz a implementao do comportamento cooperativo atravs da coordenao de objetos Colleague; Responsvel por manter e conhecer os objetos da classe Colleague.

Colleague Classes:
Cada classe conhece seu mediador; Os objetos Colleague se comunicam com seu objeto Mediator, ao invs de se comunicar com outros objetos Colleagues.

Vantagens x Desvantagens
Vantagens
Desacoplamento entre os diversos participantes da rede de comunicao (participantes no se conhecem); Eliminao de relacionamentos muitos para muitos (so todos substitudos por relacionamentos um para muitos); A poltica de comunicaes est centralizada no mediador e pode ser alterada sem mexer nos colaboradores.

Desvantagens
A centralizao pode ser uma fonte de gargalos de desempenho e de risco para o sistema em caso de falha; Na prtica, os mediadores tendem a se tornar mais complexos.

PADRES RELACIONADOS
Facade: Um Mediator simplificado torna-se um padro Facade se o mediador for a nica classe ativa e se as classes Colleagues forem classes passivas; Adapter: O padro Mediator apenas media os pedidos entre as classes Colleague; Observer: Os padres Mediator e Observer so semelhantes, resolvendo o mesmo problema.

Implementao - Chat

Referncias
Design Patterns: Elements of Reusable Object-Oriented Software http://imasters.com.br/artigo/21642/dotnet/o-padrao-deprojeto-mediator-na-pratica/ http://brizeno.wordpress.com/category/padroes-deprojeto/mediator/ http://www.javacodegeeks.com/2013/08/mediator-designpattern-in-java-example-tutorial.html

Das könnte Ihnen auch gefallen