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

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

Padrões de Projeto.

Apresentações semelhantes


Apresentação em tema: "Padrões de Projeto."— Transcrição da apresentação:

1 Padrões de Projeto

2 O que são? Soluções provenientes de diversos projetos e utilizadas por diversos programadores; Documentadas e catálogos como Padrões de Projeto (Design Patterns); Catálogo GoF (Gang of Four); Visam a melhorar o acoplamento e a coesão do projeto de software; Devem ser adaptados ao contexto em que são aplicados;

3 Os Padrões GoF

4 Criação Singleton; Factory Method;

5 Singleton

6 Singleton Exemplo: Vantagem: Contador de acessos em um site;
Conexão com DB; Runtime (Java); Vantagem: Compartilhamento de objetos; Garante apenas um objeto;

7 Factory Method

8 Factory Method

9 Factory Method Vantagens: Desvantagem: Instanciação indireta;
Fácil adição de novas classes a serem instanciadas; Desacoplamento; Desvantagem: Uma classe concreta para cada tipo de item produzido; Nem sempre o desacoplamento é garantido; Factory Method com aninhamento de ifs;

10 Estrutura Facade;

11 Facade

12 Facade

13 Facade Vantagens: Desvantagens: Um ponto de entrada;
Fácil de saber onde está a funcionalidade; Uma classe só deve ser alterada; Desvantagens: Facade é altamente acoplado ao seu subsistema; Facade deve ser completo e sem defeitos;

14 Comportamento Strategy; Observer;

15 Strategy

16 Strategy

17 Strategy Vantagens: Desvantagens: Simples; Alto desacoplamento;
Intercâmbio de Algoritmos; Desvantagens: Precisa construir o objeto de uma classe concreta; Nem sempre é a solução para tudo;

18 Observer

19 Observer

20 Observer Vantagens: Desvantagens:
Desacopla notificadores de observadores; Aumenta a coesão – Melhor atribuição de responsabilidades; Desvantagens: Notificações desnecessárias; Complexidade;

21 Conclusão Soluções quase prontas; Precisa de adaptações;
Melhora a coesão e o acoplamento dos elementos seu projeto; Podem ser complexos; Não podem ser aplicados sempre; É possível combiná-los;

22 Exercício Você precisa criar um software para uma empresa que trabalha com bolsa de valores; Essa empresa trabalha com a NASDAQ e com a BOVESPA; Sempre que uma das duas bolsas sobe, todos os clientes da empresa devem ser notificados; Quando uma das duas bolsas cai, somente os clientes premium podem ser notificados;

23 Solução


Carregar ppt "Padrões de Projeto."

Apresentações semelhantes


Anúncios Google