padrão de projeto gof comportamental mediator

Post on 13-Jun-2015

1.455 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

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.

top related