padrão de projeto gof comportamental mediator
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.TRANSCRIPT
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.