150 likes | 224 Views
Design Patterns. Fundamentos da Engenharia de Software. O que são design patterns ?.
E N D
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.
Elementos da descrição de um pattern. • Nome do pattern • Propósito • Aplicabilidade • Estrutura • Conseqüências • Patterns relacionados
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.
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
Singleton • Propósito Garante que uma classe tenha apenas uma instância e provê um ponto de acesso global a ela. • Estrutura
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
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
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
Iterator • Propósito Provê um modo de acessar seqüencialmente os elementos de um objeto agregado sem expor sua representação básica. • Estrutura
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
J2EE Design Patterns: • MVC • Business Delegate • Service Locator • Value Object • Session Façade • Front Controller • Composite View.
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
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".
Componentes do Grupo • Alan Kloh • Luciano Monteiro de Souza • Rafael Sant Anna da Silva Pereira • Rodolfo Cordeiro Burla de Aguiar