Beruflich Dokumente
Kultur Dokumente
Mdulo 1: Introduo
Vtor E. Silva Souza
vitorsouza@gmail.com
http://www.javablogs.com.br/page/engenho
http://esjug.dev.java.net
Sobre o Instrutor
Formao:
Java:
Profissional:
Estrutura do Curso
Mdulo 1
Introduo
Mdulo 2
Padres de Criao
Mdulo 3
Padres de Estrutura
Mdulo 4
Padres de Comportamento
Mdulo 5
O Padro Model-View-Controller
Anti-padres.
4
Desenvolvimento de Software
Nascem os padres
Nome;
Descrio do problema e contexto para
os quais o padro se aplica;
Descrio da soluo genrica proposta;
Consequncias da aplicao do padro
(custos e benefcios).
10
11
Catlogos de padres
http://java.sun.com/blueprints
/patterns/
Dentre outros...
13
Nome e
classificao;
Inteno;
Outros nomes;
Motivao;
Aplicabilidade;
Estrutura;
Participantes;
Colaboraes;
Consequncias;
Implementao;
Cdigo de exemplo;
Usos conhecidos;
Padres
relacionados.
14
Escopo
Classe
Objeto
Criao
Estrutura
Comportamento
Factory Method
Adapter (classe)
Interpreter
Template Method
Propsito:
Escopo:
Padres de Criao
Builder (Construtor):
17
Padres de Criao
Prototype (Prottipo):
18
Padres de Estrutura
Adapter (Adaptador):
Bridge (Ponte):
Composite (Composto):
19
Padres de Estrutura
Decorator (Decorador):
Faade (Fachada):
Padres de Estrutura
Proxy (Procurador):
Padres de Comportamento
Interpreter (Interpretador):
Padres de Comportamento
Command (Comando):
Iterator (Iterador):
Mediator (Mediador):
Padres de Comportamento
Memento (Recordao):
Observer (Observador):
State (Estado):
24
Padres de Comportamento
Strategy (Estratgia):
Visitor (Visitante):
Relacionamento entre
os Padres
Outros padres
Encapsulamento, granularidade,
dependncias, flexibilidade, desempenho,
evoluo, reusabilidade, etc.
Determinando a granularidade
ideal
32
Especificando interfaces
Interfaces:
Identificam os elementos-chave de
interfaces;
Restringem o que incluir em interfaces;
Estabelecem relacionamentos entre elas.
33
Especificando implementaes
34
35
explicitamente:
38
implementaes de objetos:
39
subclasse:
convenientemente:
Padres de Criao
Padro
Abstract Factory
Builder
Factory Method
Prototype
Singleton
Padres de Estrutura
Bridge
Implementao de um objeto.
Composite
Decorator
Faade
Flyweight
Proxy
44
Padres de Comportamento
Padres de Comportamento
State
Strategy
Um algoritmo.
Observer
46
47
O que um anti-padro
49
Exemplos de anti-padres
Analysis paralysis;
Stovepipe system;
Design by committee;
Copy and paste programming;
Spaghetti code;
God object/class;
Vendor lock-in;
E muitos outros...
50
Wikipedia
http://en.wikipedia.org/wiki/Antipattern
Antipatterns.com:
http://www.antipatterns.com/
51