Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Introdução Padrões de Projeto
Princípios de Design Pattern Prof. Wolley
2
Introdução 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.
3
Padrões Arquiteturais Famílias de Padrões
Gang Of Four – GOF 23 – Padrões Criação Estrutura Comportamento
4
GOF – 23 Padrões de Projeto
Propósito Escopo Criação Estrutural Comportamental Classe Factory Method Adapter Interpreter Template Method Objeto Abstract Factory Builder Prototype Singleton Bridge Composite Façade Flyweight Proxy Chain of Resposibility Command Iterator Mediator Memento Observer Strategy Visitor
5
Padrões Arquiteturais Famílias de Padrões
J2EE: Business Delegate, Composite Entity, Composite View, Data Access Object, Fast Lane, Reader, Front Controller, Intercepting Filter, Model, view ,controller Service Locator, Session Façade, Transfer Object, Value List Handler, View Helper
6
Princípios de Design Programe para uma interface, não para um implementação Prefira a composição de objetos à herança de classe Encapsular o que varia
7
1 º Princípios: Programe para uma interface (Superclasse), não para um implementação
Quando a herança é utilizada apropriadamente todas as classes derivadas sobrescrevem os métodos da superclasse.
8
1 º Princípios: Programe para uma interface, não para um implementação
9
1 º Princípios: Programe para uma interface, não para um implementação
Não declare variáveis como instâncias de classes concretas, mas para classes abstratas ou interfaces;
10
1 º Princípios: Programe para uma interface, não para um implementação
As classes ClienteDAO, ProdutoDAO e EstoqueDAO dependem da implementação concreta PostgreSQL
11
1 º Princípios: Programe para uma interface, não para um implementação
Dependência da Implementação
12
1 º Princípios: Programe para uma interface, não para um implementação
Mudanças muitas, vezes necessárias, pode desencadear um efeito colateral em classes dependentes.
13
1 º Princípios: Programe para uma interface, não para um implementação
14
1 º Princípios: Programe para uma interface, não para um implementação
A interface representa uma abstração do comportamento de uma ou mais classes.
15
1 º Princípios: Programe para uma interface, não para um implementação
Classes dependendo da interface
16
1 º Princípios: Programe para uma interface, não para um implementação
Estrutura das coleções e mapas
17
2º Princípio: Prefira a composição de objetos à herança
Vantagens da Herança Herança é definida estaticamente em tempo de compilação; é simples de usar uma vez que é suportada pela linguagem; Torna mais fácil de modificar a implementação que esta sendo reutilizada;
18
2º Princípio: Prefira a composição de objetos à herança
Desvantagem As super classes definem parte da representação física das suas subclasses. Certos aspectos herdados podem não fazer sentido em determinadas contextos;
19
2º Princípio: Prefira a composição de objetos à herança
20
2º Princípio: Prefira a composição de objetos à herança
21
3º Princípio: Encapsular o que pode variar
22
3º Princípio: Encapsular o que pode variar
23
3º Princípio : Encapsular o que pode variar
Olhar para uma classe, enxergar sua responsabilidade, abstrair suas possíveis alterações e criar uma nova classe. Se a sua classe precisa ter mais de uma responsabilidade, divida-as e as associe.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.