Software Design Patterns & AntiPatterns

Slides:



Advertisements
Apresentações semelhantes
Soluções elegantes para problemas recorrentes
Advertisements

Projeto Qualified Curriculum
Desenvolvimento de Sistemas Distribuídos Web Services
JBanana.
15/1/2014 Professor Leomir J. Borba- – 1 Tec. Em Analise e desenvolv. De Sistemas analise.
APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS ACESSO A BANCO DE DADOS COM O JDBC Prof. Thiago Pereira Rique
Unified Modeling Language (UML) - Modelação da Arquitectura -
Design Patterns Builder Pattern
Projeto de Sistemas de Software
Arquitetura de Aplicações Web
April 05 Prof. Ismael H. F. Santos - 1 Módulo VI – J ava Standard Template Library (JSTL) Prof. Ismael H F Santos.
Abstract Factory Intenção: fornecer uma interface comum para a criação de famílias de objetos relacionados ou dependentes, sem especificar suas classes.
Padrões GoF - Façade.
Chain of Responsibility
Seminário de Andamento UNILASALLE André Sandri Maio 2006 PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS.
Programação orientada a objetos com Java
Fundação Aplicações de Tecnologias Críticas - Atech
MedEl: Uma solução de E-Learning utilizando tecnologia Microsoft ASP
FERRAMENTA PARA ANÁLISE DE IMPACTO BASEADO EM RASTREABILIDADE DE
Documentação da Neptus Framework
Estudo comparativo de arquitecturas para aplicações empresariais
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Introdução a Programação Orientada a Objetos
Design Patterns Projeto de Sistemas de Software.
Object Oriented Software Construction (MEYER, Bertrand)
Fundamentos da Engenharia de Software
Introdução ao Desenvolvimento Web
Minicurso PHP – Parte 2 João Paulo Ribeiro jpribeiro.com
Visão crítica sobre padrões: Over Engineering
Singleton e Adapter Professor: Nazareno Andrade
Linguagens Orientadas a Objeto
Arquitetura de Software Visão Geral
Integração com Banco de Dados
Design Patterns / Acesso ao banco de dados (java.sql)
Daniel de Souza Martins Prof. Dr. Patrícia
Padrões de Projeto Aplicações empresariais são complexas
Copyright Critical Software S.A All Rights Reserved. Conferência Marcas, Design, Inovação AIP/CCI Gonçalo Quadros, CEO
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 1 Padrões de Projeto para Sistemas Web Misael Santos e Rossana Andrade Universidade.
1 Gestão de Desejos Engenharia de Software numa empresa certificada de Telecomunicações José Bonnet FCUP, 2003.Mai.19.
Design Pattern 4 Fundamentos da Engenharia de Software –Leonardo de França Rosa –Rodrigo de Carvalho Rocha.
BPM BUSINESS PROCESS MANAGEMENT Projecto em Informática e Gestão de Empresas Lisboa, 15 de Junho de 2005.
Artur Costa George Dias. Objetivo  Define a estratégia de manter uma cópia, na memória local, de objetos buscados de fora de um programa, como num servidor.
Rodrigo Cândido da Silva Instrutor VOffice / Globalcode
Filter Design Pattern.
Nome alunos 1 Título UC. Título – slide 2 Conteúdo Conteúdo 2.
Configuração do Ambiente de programação
Design Pattern (Padrões de Projeto)
Object Pool Padrões de Projeto.
Padrões de Projeto.
Introdução Padrões de Projeto
Padrões de Interação com o Usuário
Aplicativos Web Orientação a Objetos
SISTEMA PROCESSUAL DIGITAL
Padrões de Projeto.
Padrão de desenvolvimento
April 05 Prof. Ismael H. F. Santos - 1 Modulo I Princípios e Padrões de Projeto de SW em Java Professores Eduardo Bezerra –
Abstract Factory Pattern Algumas aplicações precisam criar objetos de classes que podem mudar ex: elementos de um sistema GUI. –Diferentes padrões precisam.
1 Design Patterns Israel Rios. 2 Origens A idéia de padrões de projeto não teve origem na ciência da computação Christopher Alexander A Pattern Language:
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Servidores.
Padrões de Projetos Professora Lucélia. Conceitos É uma solução conhecida para um problema comum São técnicas que nos dão uma boa solução para determinados.
PADROES DE PROJETO PROF. OSIEL MARLON. PADRÕES DE PROJETO INTRODUÇÃO Padrões de projeto têm emergido como uma das mais promissoras abordagens para a melhoria.
Acesso a Banco de Dados com JDBC e DAO
Padrões de Projeto. O que são?  Soluções provenientes de diversos projetos e utilizados por diversos programadores;  Documentados em catálogos como.
ALUNO: RONI FABIO BANASZEWSKI Model-View-Controller.
1 Introdução aos Padrões de Projetos Créditos: Prof. Fabio Kon - IME/USP Adaptações: Prof. Nécio de Lima Veras.
Introdução a Padrões de Projeto Padrões de Projeto Orientado a Objetos Profa. Danielle Martin Universidade de Mogi das Cruzes.
Programação Orienta a Objetos (SI) Análise e Projetos de Sistemas (LCC) 1 - Introdução a Padrões de Projeto Eduardo de Lucena Falcão.
Web Services / SOA. O cenário de TI nas corporações Novas tendências batiam à porta das corporações Migraram o foco do “gerenciamento de dados” para o.
Introdução a Padrões de Projeto Padrões de Projeto Orientado a Objetos Profa. Danielle Martin Universidade de Mogi das Cruzes.
Transcrição da apresentação:

Software Design Patterns & AntiPatterns Helder Sousa Engineering Manager EAI&DB Engineering Area

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

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.

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.

Design Patterns: Template Contexto Problema Forças Solução Consequências Implementação Patterns relacionados

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

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.

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.

Design patterns: Façade

Design patterns: Factory O Factory Pattern devolve instâncias parametrizadas de classes, mediante configurações de sistema, parâmetros ou estado do sistema.

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.

Design patterns: DAO (Data Access Object) Exemplo de um DAO:

Design patterns: DAO (Pluggable & External SQL)

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

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

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: http://c2.com/cgi/wiki?ShootTheMessenger)

Design patterns: Fontes de informação Patterns for beginners: http://c2.com/cgi-bin/wiki?PatternsForBeginners Enterprise integration patterns http://www.eaipatterns.com/eaipatterns.html Hillside patterns library http://hillside.net/patterns/ Java Blueprints Patterns http://java.sun.com/blueprints/patterns/index.html The Server Side patterns library http://www.theserverside.com/patterns/index.tss Parry's Patterns Page http://www.castle-cadenza.demon.co.uk/pattern.htm AntiPatterns Catalog http://c2.com/cgi/wiki?AntiPatternsCatalog

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

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