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

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

Software Design Patterns & AntiPatterns

Apresentações semelhantes


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

18 Design patterns: Fontes de informação
Muito bem aceite Conhecido como “GangOfFour” Um “must” !!

19 Design patterns: Final statement
Keep them in mind !! Abuse of them !!!!!


Carregar ppt "Software Design Patterns & AntiPatterns"

Apresentações semelhantes


Anúncios Google