Upload
thiago-sinesio
View
1.455
Download
3
Embed Size (px)
DESCRIPTION
Define um objeto que encapsula a forma como um conjunto de objetos interage. O Mediator promove o acoplamento fraco ao evitar que os objetos se refiram explicitamente uns aos outros, permitindo que você varie suas interações independentemente.
Citation preview
Padrão Mediator
Estephânia RodriguesGustavo MoreiraIzabel RodriguesPriscilla AguiarThiago Sinésio
Pós-Graduação em Engenharia de Sotfware Centrada em Métodos Ágeis
2013
Agenda
■ Introdução■ Intenção ■Motivação■Aplicabilidade■Estrutura■Participantes■Colaborações■Consequências■Demonstração
Introdução
Padrões de projeto GOF
Criação
Comportamentais
Estruturais
Mediator
Intenção
■ Definir um objeto para encapsular a forma como um conjunto de objetos interage;
■ Promover baixo acoplamento;
■ Não permitir que objetos se referenciem entre si de maneira explícita.
Intenção
Intenção
Motivação
■ Diminuir o alto acoplamento causado pela distribuição de comportamento entre vários objetos.
■ Essa distribuição pode resultar em muitas conexões, o que leva um objeto ter conhecimento sobre vários outros.
Aplicabilidade
■ O padrão mediator deve ser usado quando:● Um conjunto de objetos se comunicar de forma
complexa, interdependências desestruturadas e de difícil entendimento;
● A reutilização de um objeto se torna difícil por ele referenciar e comunicar com muitos outros;
● Customizar ou adaptar um comportamento que está distribuído entre várias classes sem a necessidade excessiva de especialização em subclasses.
Aplicabilidade
■ Objetos podem se comunicar sem conhecer uns aos outros.
Estrutura
Participantes
■ Mediator: ● Define uma interface de comunicação com objetos de
classe Colleague.
■ Concrete Mediator: ● Faz a implementação do comportamento cooperativo
através da coordenação de objetos Colleague.● Responsável por manter e conhecer os objetos da
classe Colleague.
Participantes
■ Colleague Classes:
● Cada classe Colleague conhece seu Mediator;
● Os objetos Colleague se comunicam com seu objeto Mediator, ao invés de se comunicar com outros objetos Colleagues.
Colaborações
■ Os objetos Colleagues, uma vez que não se conhecem, enviam e recebem solicitações do Mediator;
■ O Mediator conhece cada um dos participantes e direciona as solicitações para os objetos apropriados;
■ A política de comunicação é determinada pelo Mediator (Implementação Concreta do Mediator).
Consequências
■ Vantagens● Limita extensão por herança (para estender ou alterar o
comportamento, basta criar uma subclasse do Mediator);
● Baixo acoplamento entre Colleagues;
● Politica de comunicações fica centralizada no Mediator e pode ser alterada sem mexer nos Colleagues;
● Eliminação de relacionamentos muitos-para-muitos;
Consequências
■ Desvantagens● A centralização em exagero pode ser uma fonte de
gargalos de desempenho e risco para o sistema em caso de falhas;
● O Mediator pode se tornar muito complexo.
Dúvidas
Mais Informações
■ Gamma Erich, Helm Richard, JohnsonRalp, Vlissides John. Padrões de Projeto: Soluções Reutilizáveis de Software orientado a objetos. p. 257 - 266. Bookman, 2000.