A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Padrão Bridge (Handle/Body) Design Patterns Paulo Roberto França.

Apresentações semelhantes


Apresentação em tema: "Padrão Bridge (Handle/Body) Design Patterns Paulo Roberto França."— Transcrição da apresentação:

1 Padrão Bridge (Handle/Body) Design Patterns Paulo Roberto França

2 © LES/PUC-Rio Motivação Visualizador de imagens. (Diferentes formatos) Cada sistema operacional exibe a imagem de uma forma diferente. È inconveniente a extensão da abstração imagem para diferentes formatos em diferentes plataformas.

3 © LES/PUC-Rio Resultado: Proliferação de classes Motivação

4 © LES/PUC-Rio Motivação –Formato de uma imagem (estrutura e representação) –A forma como a imagem é exibida varia entre Sistemas operacionais, porém a sua estrutura é a mesma. –Windows pode mostrar uma imagem (bitmap) sem conhecimento de seu formato original (BMP, JPG etc...) –A representação e a estrutura de um formato de imagem são aspectos diferentes. –Devem variar de forma independente de acordo com fatores como: Sistema operacional, hardware etc..

5 © LES/PUC-Rio Motivação A Solução –O padrão Bridge permite diferentes hierarquias de classes para as abstrações e suas implementações. –Podem Variar de forma independente –São criadas duas hierarquias de classes relacionadas: a hierarquia de estrutura do formato de imagens e a de representação nas plataformas suportadas. –O relacionamento entre as interfaces é a ponte que desacopla a interface da implementação

6 © LES/PUC-Rio Motivação

7 © LES/PUC-Rio Bridge Classificação –Estrutural de Objeto Propósito –Permitir o desacoplamento de uma abstração de sua implementação –Assim ambos podem variar de forma independente

8 © LES/PUC-Rio Aplicabilidade –Evitar vínculo permanente entre abstração e implementação –Selecionar ou trocar a implementação dinamicamente –Abstração e implementação devem ser extensíveis –Cliente não deve ser recompilado no caso de mudanças na implementação. –Ocultar a implementação (C++, header apenas da abstração) –Evitar proliferação de classes –Ocultar do cliente o compartilhamento da implementação entre vários objetos. EX: objetos compartilham a mesma representação de uma string.

9 © LES/PUC-Rio Estrutura e participantes

10 © LES/PUC-Rio Colaborações –Existe uma ponte entre a abstração e a implementação. –Abstraction repassa as solicitações dos clientes para o seu objeto Implementor

11 © LES/PUC-Rio Consequências –Configurar a implementação em tempo de execução –Mudanças na implementação não torna implicam recompilação da classe Abstraction e seus clientes. –Melhorias na estrutura do sistema, encorajando o uso o de camadas; a parte de alto nível somente tem que ter conhecimento de Abstraction e Implementor –Extensibilidade: pode-se estender as hierarquias de Abstraction e Implementor independentemente –Detalhes de implementação são ocultados do cliente

12 © LES/PUC-Rio Implementação Diagrama de Classe

13 © LES/PUC-Rio Implementação Diagrama de Sequência

14 © LES/PUC-Rio Implementação

15 © LES/PUC-Rio Implementação

16 © LES/PUC-Rio Implementação © LES/PUC-Rio

17 Implementação

18 © LES/PUC-Rio Implementação

19 © LES/PUC-Rio Pradrões Relacionados Abstract Factory –Criar e configurar uma bridge Adapter –Usado em sistema já projetados –Bridge é usado no projeto desde o inicio

20 F I M


Carregar ppt "Padrão Bridge (Handle/Body) Design Patterns Paulo Roberto França."

Apresentações semelhantes


Anúncios Google