Padrão de Projeto GoF Comportamental Mediator

Preview:

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.

Recommended