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

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

Introdução Padrões de Projeto

Apresentações semelhantes


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

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.


Carregar ppt "Introdução Padrões de Projeto"

Apresentações semelhantes


Anúncios Google