Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouMárcio Franco Sales Alterado mais de 8 anos atrás
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
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
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.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.