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

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

Padrões de Projetos Orientados a Objetos I Wolley W. Silva.

Apresentações semelhantes


Apresentação em tema: "Padrões de Projetos Orientados a Objetos I Wolley W. Silva."— Transcrição da apresentação:

1 Padrões de Projetos Orientados a Objetos I Wolley W. Silva

2 Ementa Resumida Aplicar os Princípios da Orientação a Objetos na Modelagem e Programação; Conhecer e Aplicar os Padrões de Projeto (GoF) de acordo com suas categorias: – Padrões de Criação – Padrões Estruturais – Padrões Comportamentais

3 Bibliografia Básica

4 Princípios de Design 1.Programe para uma interface, não para um implementação 2.Dar preferencia (favorecer) a composição de objetos à herança de classe 3.Encapsular o que pode mudar

5 1 º Princípios: Programe para uma interface, não para um implementação

6 A interface representa uma abstração do comportamento de uma ou mais classes.

7 Classes dependendo da interface 1 º Princípios: Programe para uma interface, não para um implementação

8 2º Princípio: Prefira a composição de objetos à herança Erich Gamma. (GOF) – “Quando a herança é usada cuidadosamente (apropriadamente), toas as classes derivadas compartilharão sua interface”. Quando métodos e/ou atributos herdados não são utilizador por sua classes filhas.

9 2º Princípio: Prefira a composição de objetos à herança

10 3º Princípio: Encapsular o que pode variar

11

12 Olhar para uma classe, enxergar sua responsabilidade, abstrair suas possíveis alterações e criar novas classes. Se a sua classe precisa ter mais de uma responsabilidade, divida-as e as associe. 3º Princípio : Encapsular o que pode variar

13 Padrões de Projeto Um Design Pattern é uma técnica de modelagem de classes e objetos que resolve um problema comum a diversos tipos de aplicativos.

14 GOF – 23 Padrões de Projeto Propósito Escopo CriaçãoEstruturalComportamental ClasseFactory MethodAdapterInterpreter Template Method ObjetoAbstract Factory Builder Prototype Singleton Adapter Bridge Composite Façade Flyweight Proxy Chain of Resposibility Command Iterator Mediator Memento Observer Strategy Visitor

15 Padrão Strategy Objetivo: – Encapsulamento de algoritmos que podem variar com facilidade para prover um comportamento mais adequado para um objeto de acordo com um contexto.

16 Padrão Strategy

17 Os pontos fracos da solução implementada são: – Uso de if's e else's para testar opções de pagamento e tomar o fluxo correto. – Um método que faz múltiplas coisas. Baixa coesão. – A cada nova condição adicionada o código tona-se mais complexo. Padrão Strategy

18

19

20 Aspectos positivos – O algoritmo poder ser alterado sem a modificação da classe Venda. – Novas implementações podem ser criadas e introduzidas posteriormente. – Polimorfismo na chamada dos método que executará a regra de pagamento.

21 Padrão Builder Builder propõe que o processo de construção de um objeto complexo, seja separado da definição do objeto, para que possamos ter diferentes algoritmos de construção permitindo diferentes representações para o objeto.

22 Padrão Builder Veja que o construtor dessa classe é extenso e difícil de entender.

23 Padrão Builder

24 Veja que agora a regra de criação de objeto NotaFiscal

25 Padrão Builder

26 Padrão Composite Compor objetos em estrutura de árvore para representarem hierarquias todo-parte. Composite permite tratar de maneira uniforme objetos individuais e composições de objetos.

27 Padrão Composite Classes composite (nó Galho): que poderão conter outros componentes; Classes leaf (nó Folha): que serão componentes finais na hierarquia;

28 Padrão Composite

29 Exercício Aplique os conceitos relembrados aqui resolvendo os exercícios disponíveis na pasta da disciplina.


Carregar ppt "Padrões de Projetos Orientados a Objetos I Wolley W. Silva."

Apresentações semelhantes


Anúncios Google