Software Design Patterns & AntiPatterns - ppt carregar
Software Design Patterns & AntiPatterns
PublicouLuna Pavao Alterado mais de 4 anos atrás
Apresentação em tema: "Software Design Patterns & AntiPatterns"— Transcrição da apresentação:
1 Software Design Patterns & AntiPatterns
Helder Sousa Engineering Manager EAI&DB Engineering Area
2 Design patterns: Definição
Um Design Pattern é uma solução estável para um problema comum num determinado contexto.
3 Design patterns: Definição de AntiPattern
AntiPattern é uma má solução para um problema comum num determinado contexto Um bom AntiPattern também deve indicar o porquê da má solução ser atractiva, e qual o Pattern que se deve aplicar.
4 Design patterns: Benefícios
Abstracto qb para aplicar a várias tecnologias. Específico qb para permitir colocar as "mãos na massa". Fornecem um vocabulário comum entre software developers. São soluções comprovadas. Potenciam a reutilização.
5 Design Patterns: Template
Contexto Problema Forças Solução Consequências Implementação Patterns relacionados
6 Design patterns: Common patterns
Business delegate, Service locator, Session façade, Data Access Object
7 Design patterns: Service locator
O Service Locator centraliza as operações de pesquisa de um serviço (lookup), fornece um acesso central a pode ainda conter uma cache eliminando o peso de novas pesquisas.
8 Design patterns: Façade
Fornece um interface comum para um conjunto de interface de um subsistema. Define um interface de alto nível que torna o subsistema mais simples de utilizar.
9 Design patterns: Façade
10 Design patterns: Factory
O Factory Pattern devolve instâncias parametrizadas de classes, mediante configurações de sistema, parâmetros ou estado do sistema.
11 Design patterns: DAO (Data Access Object)
Data Access Object (ou DAO) pattern: Encapsula o acesso a dados. Adapta uma API específica de acesso a dados, a um interface cliente genérico.
12 Design patterns: DAO (Data Access Object)
Exemplo de um DAO:
13 Design patterns: DAO (Pluggable & External SQL)
14 Design patterns: Decorator
Attach additional responsibilities to an object dynamically. Flexible alternative to subclassing for extending functionality.
15 Design patterns: MVC (Model, View, Controller)
Uma aplicação apresenta dados, processados por regras de negócio em múltiplos écrans. A equipe de engenharia responsável pelo desenho, implementação de manutenção é multidisciplinar. Input --> Processing --> Output Controller --> Model --> View
16 Anti-patterns: Shoot The Messenger
Problema: Ninguém gosta de ouvir más notícias. Contexto: Alguém descobre um problema e avisa. Forças: Pressão Falta de controlo da situação Não é visível solução imediata para o novo problema Solução: Gritar com o mensageiro do problema Resultado: Cada vez os problemas são identificados mais tarde, e portanto com mais custos para o desenvolvimento do projecto. Solução proposta: Envolver o mensageiro na procura da solução. (see:
17 Design patterns: Fontes de informação
Patterns for beginners: Enterprise integration patterns Hillside patterns library Java Blueprints Patterns The Server Side patterns library Parry's Patterns Page AntiPatterns Catalog