design patterns fundamentos da engenharia de software

15
Design Patterns Fundamentos da Engenharia de Software

Upload: internet

Post on 18-Apr-2015

115 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Design Patterns Fundamentos da Engenharia de Software

Design Patterns

Fundamentos da Engenharia de Software

Page 2: Design Patterns Fundamentos da Engenharia de Software

O que são design patterns?

• São técnicas exaustivamente testadas, aprovadas e documentadas, baseadas em experiências anteriores, para solução de um problema genérico em um contexto específico que ocorre com certa freqüência em projetos de software orientados a objetos.

Page 3: Design Patterns Fundamentos da Engenharia de Software

Elementos da descrição de um pattern.

• Nome do pattern

• Propósito

• Aplicabilidade

• Estrutura

• Conseqüências

• Patterns relacionados

Page 4: Design Patterns Fundamentos da Engenharia de Software

GoF

• Os autores Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides, conhecidos como “The Gang of Four” ou GoF, propõem 23 patterns em seu livro. Estes patterns são a base para estudos mais aprofundados sobre o assunto.

Page 5: Design Patterns Fundamentos da Engenharia de Software

Factory Method

• Propósito

Define uma interface para criação de um objeto, mas deixa as subclasses decidirem qual classe a ser instanciada. O Factory Method permite a uma classe delegar a instanciação às subclasses.

• Estrutura

Page 6: Design Patterns Fundamentos da Engenharia de Software

Singleton

• Estrutura

• Propósito

Garante que uma classe tenha apenas uma instância e provê um ponto de acesso global a ela.

Page 7: Design Patterns Fundamentos da Engenharia de Software

Façade

• Propósito

Provê uma interface unificada para um conjunto de interfaces em um subsistema. O Façade define uma interface de mais alto nível que torna mais fácil o uso do subsistema.

• Estrutura

Page 8: Design Patterns Fundamentos da Engenharia de Software

Decorator

• Propósito

Agrega responsabilidades adicionais a um objeto dinamicamente. O Decorator provê uma alternativa flexível à criação de subclasses para extensão de funcionalidades (troca herança por delegação).

• Estrutura

Page 9: Design Patterns Fundamentos da Engenharia de Software

Composite

• Propósito

Compõe objetos em estrutura de árvore para representar estruturas do tipo todo-partes. Permite que os clientes tratem objetos individuais e composições de objetos de maneira uniforme.

• Estrutura

Page 10: Design Patterns Fundamentos da Engenharia de Software

Iterator

• Propósito

Provê um modo de acessar seqüencialmente os elementos de um objeto agregado sem expor sua representação básica.

• Estrutura

Page 11: Design Patterns Fundamentos da Engenharia de Software

Strategy

• Propósito

Define uma família de algoritmos, encapsula cada um deles e faz com que eles sejam intercambiáveis. O Strategy permite que o algoritmo varie independentemente dos clientes que o utilizam.

• Estrutura

Page 12: Design Patterns Fundamentos da Engenharia de Software

J2EE Design Patterns:

• MVC

• Business Delegate

• Service Locator

• Value Object

• Session Façade

• Front Controller

• Composite View.

Page 13: Design Patterns Fundamentos da Engenharia de Software

O que esperar do uso de patterns. Por quê aprender?

• Aprender com a experiência dos outros

• Aprender a programar bem com orientação a objetos

• Desenvolver software de melhor qualidade

• Vocabulário comum

• Ajuda na documentação e na aprendizagem

Page 14: Design Patterns Fundamentos da Engenharia de Software

Bibliografia

• Design Patterns - Erich Gamma, Richard Helm,• Ralph Johnson e John Vlissides

• EJB Design Patterns - Marinescu

• Apostila de UML do curso de Java Sênior e J2EE (NCE - UFRJ)- Gilson Tavares

• http://www.javasoft.com/patterns

• http://www.theserverside.com

• Slides do treinamento dado pela empresa "NEKI" aos desenvolvedores da empresa "Acol Consultoria e Sistemas".

Page 15: Design Patterns Fundamentos da Engenharia de Software

Componentes do Grupo

• Alan Kloh

• Luciano Monteiro de Souza

• Rafael Sant Anna da Silva Pereira

• Rodolfo Cordeiro Burla de Aguiar