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

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

Dependable Technologies for Critical Systems Copyright Critical Software S.A. 1998-2003 All Rights Reserved. Software Design Patterns & AntiPatterns Helder.

Apresentações semelhantes


Apresentação em tema: "Dependable Technologies for Critical Systems Copyright Critical Software S.A. 1998-2003 All Rights Reserved. Software Design Patterns & AntiPatterns Helder."— Transcrição da apresentação:

1 Dependable Technologies for Critical Systems Copyright Critical Software S.A All Rights Reserved. Software Design Patterns & AntiPatterns Helder Sousa Engineering Manager EAI&DB Engineering Area

2 2 Design patterns: Definição Um Design Pattern é uma solução estável para um problema comum num determinado contexto.

3 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 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 5 Design Patterns: Template  Contexto  Problema  Forças  Solução  Consequências  Implementação  Patterns relacionados

6 6 Design patterns: Common patterns  Business delegate, Service locator, Session façade, Data Access Object

7 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 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 9 Design patterns: Façade

10 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 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 12 Design patterns: DAO (Data Access Object)  Exemplo de um DAO:

13 13 Design patterns: DAO (Pluggable & External SQL)

14 14 Design patterns: Decorator Attach additional responsibilities to an object dynamically. Flexible alternative to subclassing for extending functionality.

15 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.

16 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 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 18 Design patterns: Fontes de informação  Muito bem aceite  Conhecido como “GangOfFour”  Um “must” !!

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


Carregar ppt "Dependable Technologies for Critical Systems Copyright Critical Software S.A. 1998-2003 All Rights Reserved. Software Design Patterns & AntiPatterns Helder."

Apresentações semelhantes


Anúncios Google