padrão de projeto gof comportamental mediator

17
Padrão Mediator Estephânia Rodrigues Gustavo Moreira Izabel Rodrigues Priscilla Aguiar Thiago Sinésio Pós-Graduação em Engenharia de Sotfware Centrada em Métodos Ágeis 2013

Upload: thiago-sinesio

Post on 13-Jun-2015

1.455 views

Category:

Technology


3 download

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

Page 1: Padrão de Projeto GoF Comportamental Mediator

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

Page 2: Padrão de Projeto GoF Comportamental Mediator

Agenda

■ Introdução■ Intenção ■Motivação■Aplicabilidade■Estrutura■Participantes■Colaborações■Consequências■Demonstração

Page 3: Padrão de Projeto GoF Comportamental Mediator

Introdução

Padrões de projeto GOF

Criação

Comportamentais

Estruturais

Mediator

Page 4: Padrão de Projeto GoF Comportamental 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.

Page 5: Padrão de Projeto GoF Comportamental Mediator

Intenção

Page 6: Padrão de Projeto GoF Comportamental Mediator

Intenção

Page 7: Padrão de Projeto GoF Comportamental Mediator

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.

Page 8: Padrão de Projeto GoF Comportamental Mediator

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.

Page 9: Padrão de Projeto GoF Comportamental Mediator

Aplicabilidade

■ Objetos podem se comunicar sem conhecer uns aos outros.

Page 10: Padrão de Projeto GoF Comportamental Mediator

Estrutura

Page 11: Padrão de Projeto GoF Comportamental Mediator

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.

Page 12: Padrão de Projeto GoF Comportamental Mediator

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.

Page 13: Padrão de Projeto GoF Comportamental Mediator

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).

Page 14: Padrão de Projeto GoF Comportamental 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;

Page 15: Padrão de Projeto GoF Comportamental Mediator

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.

Page 16: Padrão de Projeto GoF Comportamental Mediator

Dúvidas

Page 17: Padrão de Projeto GoF Comportamental Mediator

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.