Design Pattern Implementation in Java and AspectJ

Tamanho: px
Começar a partir da página:

Download "Design Pattern Implementation in Java and AspectJ"

Transcrição

1 Design Pattern Implementation in Java and AspectJ Jan Hannemann Gregor Kiczales In Proceedings of 2002 ACM SIGPLAN conference on OOPSLA. NY, USA.

2 Introdução 2

3 Introdução 3

4 Introdução 4

5 Introdução 5

6 Introdução 6

7 Introdução 7

8 Proposta 8

9 Proposta 9

10 Proposta 10

11 Proposta 11

12 Padrão Observer Partes comuns na instanciação: Subject e Observer Mapeamento de Subjects para Observers Mudança em Subject atualiza Observer 12

13 Padrão Observer 13

14 Padrão Observer Partes específicas da instanciação: Classes Subject e Observer Mudanças no Subject Atualização do Observer 14

15 Padrão Observer 15

16 Padrão Observer 16

17 Padrão Observer 17

18 Padrão Observer Localidade Reusabilidade Composição Plugabilidade 18

19 Padrão Observer 19

20 Padrões somente no aspecto Observer Composite Command Mediator Chain of Responsability Implementação no aspecto Classe abstrata geral Advice chama métodos apropriados 20

21 Mediator 21

22 Composition 22

23 Composition 23

24 Factories de objetos no aspecto Singleton Prototype Memento Iterator Flyweight Classe abstrata Métodos parametrizados Métodos incluídos nos participantes 24

25 Factories de objetos em aspecto Singleton Prototype Memento Iterator Flyweight muda construtor retornando objeto com um advice around Classe abstrata Métodos parametrizados Métodos incluídos nos participantes 25

26 Language constructs Adapter Decorator Strategy Visitor Proxy Simples Modulares Limitações de herança 26

27 Herança múltipla Abstract Factory Factory Method TemplateMethod Builder Bridge Não melhoram o reuso Classes abstratas por interface 27

28 Código espalhado modularizado Abstract Factory Factory Method TemplateMethod Builder Bridge Alto acoplamento Aspecto modulariza parte 28

29 Sem benefícios do aspecto Facade 29

30 30

31 Trabalhos relacionados Padrões em outros paradigmas de linguagens Geração automática de padrões Classificar padrões Problema de composição Melhorar representação dos padrões 31

32 Benefícios do aspecto Localidade Reusabilidade Inversão de dependência Composição transparente Plugabilidade (17/23) (12/17) 32

33 Conclusões 33

34 Conclusões Defining sem melhorias Defining e superimposed cada caso Superimposed mais benefícios 34

35 Resultados 74% mais modulares 52% reusáveis Desacopla reduzindo dependências Padrões explícitos 35

36 Código dos padrões 36

37 37

Testes com Design Patterns

Testes com Design Patterns Helder da Rocha (helder.darocha@gmail.com) 31 de março de 2005 71. Que padrão de design pode ser usado para permitir que uma implementação específica e uma hierarquia de abstrações possa variar independentemente?

Leia mais

Prof.ª Esp. Talita Pagani

Prof.ª Esp. Talita Pagani Especialização em Engenharia de Software Prof.ª Esp. Talita Pagani talita.cpb@gmail.com @talitapagani 21/02/2014 Design Patterns Aula 1 Prof.ª Esp. Talita Pagani 1 Informações gerais 1. Definição de Design

Leia mais

Curso - Padrões de Projeto Módulo 1: Introdução

Curso - Padrões de Projeto Módulo 1: Introdução Curso - Padrões de Projeto Módulo 1: Introdução Vítor E. Silva Souza vitorsouza@gmail.com http://www.javablogs.com.br/page/engenho http://esjug.dev.java.net Sobre o Instrutor Formação: Java: Graduação

Leia mais

J930. Padrões. Projeto. Introdução. argonavis.com.br. Helder da Rocha (helder@acm.org)

J930. Padrões. Projeto. Introdução. argonavis.com.br. Helder da Rocha (helder@acm.org) Padrões de J930 Projeto Introdução Helder da Rocha (helder@acm.org) argonavis.com.br O que é um padrão? Maneira testada ou documentada de alcançar um objetivo qualquer Padrões são comuns em várias áreas

Leia mais

1Introdução Helder da Rocha (helder@acm.org)

1Introdução Helder da Rocha (helder@acm.org) J930 Padrões Projeto de 1Introdução Helder da Rocha (helder@acm.org) argonavis.com.br O que é um padrão? Maneira testada ou documentada de alcançar um objetivo qualquer Padrões são comuns em várias áreas

Leia mais

POO e suas Limitações Introdução POA AspectJ: Conceitos Básicos Exemplo: Tracing Padrões de Projeto e POA

POO e suas Limitações Introdução POA AspectJ: Conceitos Básicos Exemplo: Tracing Padrões de Projeto e POA Lincoln S. Rocha (lincoln@great.ufc.br) POO e suas Limitações Introdução POA AspectJ: Conceitos Básicos Exemplo: Tracing Padrões de Projeto e POA Background Artigo do Kiczales 2 3 1 Objetivo da Programação?

Leia mais

Programação Avançada. Padrões de Projeto de Software. Fonte: Oswaldo B. Peres e K19 Treinamentos

Programação Avançada. Padrões de Projeto de Software. Fonte: Oswaldo B. Peres e K19 Treinamentos Programação Avançada Padrões de Projeto de Software 1 Fonte: Oswaldo B. Peres e K19 Treinamentos Introdução Projetar software OO reusável e de boa qualidade é uma tarefa difícil; Para realizar essa tarefa

Leia mais

Design Patterns. Viviane Torres da Silva viviane.silva@ic.uff.br. http://www.ic.uff.br/~viviane.silva/2012.1/es1

Design Patterns. Viviane Torres da Silva viviane.silva@ic.uff.br. http://www.ic.uff.br/~viviane.silva/2012.1/es1 Design Patterns Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/2012.1/es1 Sumário Reuso de Software Introdução Benefícios e Desvantagens Visão do Reuso Padrões de Projeto

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação Prof. Fabiano Dorça. Introdução. Padrões de projeto

Universidade Federal de Uberlândia Faculdade de Computação Prof. Fabiano Dorça. Introdução. Padrões de projeto Universidade Federal de Uberlândia Faculdade de Computação Prof. Fabiano Dorça Introdução Padrões de projeto Algumas definições... Um padrão de projeto (design pattern) é uma solução geral reutilizável

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 07 Padrões GoF (Command e Template Method) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method Prototype

Leia mais

Padrões de Projeto. Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson

Padrões de Projeto. Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson Padrões de Projeto Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson Apresentação Conceitos Definição Ponto de vista prático História Padrões de Projeto Conhecidos

Leia mais

Programação Orientada a Objetos. Padrões de Criação

Programação Orientada a Objetos. Padrões de Criação Programação Orientada a Objetos Padrões de Criação Cristiano Lehrer, M.Sc. Objetivos Apresentar cada um dos 23 padrões clássicos descrevendo: O problema que solucionam. A solução. Diagramas UML (Unified

Leia mais

" ##$#$!% # & #$#$ !!!!"!

 ##$#$!% # & #$#$ !!!!! " ##$#$!% # & #$#$ Abstract Factory, Builder, Singleton, Factory Method, Prototype, Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy, Chain of Responsability, Command, Interpreter, Iterator,

Leia mais

Programação com Objectos

Programação com Objectos Programação com Objectos PADRÕES DE DESENHO Classificaçã Objectivo Criação Estrutura Comportamento Introdução Alguns Padrões de Desenho Classe Factory Method Adapter Interpreter Template Method O que é

Leia mais

Padrões de Projeto de Software

Padrões de Projeto de Software Padrões de Projeto de Software Lista de Exercícios AV2-01 Luiz Leão luizleao@gmail.com http://www.luizleao.com Questão 1 Qual o objetivo dos padrões Comportamentais, segundo o catálogo GOF? Questão 1 Resposta

Leia mais

Padrões GoF. Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Padrões GoF. Leonardo Gresta Paulino Murta leomurta@ic.uff.br Padrões GoF Leonardo Gresta Paulino Murta leomurta@ic.uff.br Agenda Introdução Padrões de Criação Padrões de Estrutura Padrões de comportamento Leonardo Murta Padrões GoF 2 Introdução Os padrões GoF (Gamma

Leia mais

INF011 Padrões de Projeto Introdução

INF011 Padrões de Projeto Introdução INF011 Padrões de Projeto 01 - Introdução Sandro Santos Andrade sandroandrade@ifba.edu.br Instituto Federal de Educação, Ciência e Tecnologia da Bahia Departamento de Tecnologia Eletro-Eletrônica Graduação

Leia mais

Padrões de Projeto. Padrões de Projeto. Além dos 23 Padrões GoF. Os 23 Padrões de Projeto. Documentação de um Padrão. Classificação dos Padrões

Padrões de Projeto. Padrões de Projeto. Além dos 23 Padrões GoF. Os 23 Padrões de Projeto. Documentação de um Padrão. Classificação dos Padrões DCC / ICEx / UFMG Padrões de Projeto Padrões de Projeto Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Um padrão é uma descrição do problema e a essência da sua solução Documenta boas soluções para

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 11 Padrões GoF (Bridge e Decorator) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method Prototype Singleton

Leia mais

Mas o que é mesmo Padrão de Projeto?

Mas o que é mesmo Padrão de Projeto? Mas o que é mesmo Padrão de Projeto? Um Padrão de Projeto descreve uma solução comprovada para um problema recorrente e conhecido no desenvolvimento de software orientado a objetos. Mas afinal, porque

Leia mais

Uma Introdução aos Padrões de Projeto com Java. Roberto Willrich INE-CTC-UFSC

Uma Introdução aos Padrões de Projeto com Java. Roberto Willrich INE-CTC-UFSC Uma Introdução aos Padrões de Projeto com Java Roberto Willrich INE-CTC-UFSC 1 Introdução aos Padrões de Projeto Programação Introdução Motivação, Definição, Características, Histórico Descrição de um

Leia mais

15/09/2014. Aula 01: Apresentação. Review to 1 st Exam. Aula 02: Técnicas de Reuso. Panorama de Reuso. Aula 03: POO e Padrões. Bibliografia da Aula 02

15/09/2014. Aula 01: Apresentação. Review to 1 st Exam. Aula 02: Técnicas de Reuso. Panorama de Reuso. Aula 03: POO e Padrões. Bibliografia da Aula 02 Software Reuse Lecture 13 Aula 01: Apresentação Review to 1 st Exam Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 15 September 2014 Bibliografia Método de avaliação Provas

Leia mais

Padrões Comportamentais

Padrões Comportamentais Padrões Comportamentais Formulário para Descrição de Padrões Nome e Classificação Intenção Também Conhecido Como Motivação Aplicabilidade Estrutura Participantes Colaboradores Conseqüências Implementação

Leia mais

Aula 01: Apresentação. Revisão para Prova 1. Aula 02: Técnicas de Reuso. Panorama de Reuso. Aula 03: POO e Padrões. Bibliografia da Aula 02

Aula 01: Apresentação. Revisão para Prova 1. Aula 02: Técnicas de Reuso. Panorama de Reuso. Aula 03: POO e Padrões. Bibliografia da Aula 02 Reutilização de Software Aula 13 Aula 01: Apresentação Revisão para Prova 1 Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 23 Setembro 2013 Bibliografia Método de avaliação

Leia mais

OO IMPACTO DA UTILIZAÇÃO DE DESIGN

OO IMPACTO DA UTILIZAÇÃO DE DESIGN OO IMPACTO DA UTILIZAÇÃO DE DESIGN PATTERNS NAS MÉTRICAS E ESTIMATIVAS DE PROJETOS DE SOFTWARE: a utilização de padrões tem alguma influência nas estimativas? Ricardo Alexsandro de Medeiros Valentim 1

Leia mais

Programação Orientada a Objetos Padrões de Projeto (design patterns) Fernando Vanini IC - UNICAMP

Programação Orientada a Objetos Padrões de Projeto (design patterns) Fernando Vanini IC - UNICAMP Programação Orientada a Objetos Padrões de Projeto (design patterns) Fernando Vanini IC - UNICAMP Padrões de Projeto (design patterns) Apresentação do conceito de design pattern Classificação dos design

Leia mais

Padrões de Projeto de Software Orientado a Objetos

Padrões de Projeto de Software Orientado a Objetos Padrões de Projeto de Software Orientado a Objetos Ricardo Argenton Ramos [Baseado nos slides do professor Fabio Kon - USP] 1 Padrões de Projeto de Software OO Também conhecidos como Padrões de Desenho

Leia mais

Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI PCO203 Tópicos Especiais em Programação

Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI PCO203 Tópicos Especiais em Programação UNIFEI Disciplina Professor Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI PCO203 Tópicos Especiais em Programação Enzo Seraphim 1 Padrões de Projeto

Leia mais

PADRÕES DE PROJETO. Cleviton Monteiro (cleviton@gmail.com)

PADRÕES DE PROJETO. Cleviton Monteiro (cleviton@gmail.com) PADRÕES DE PROJETO Cleviton Monteiro (cleviton@gmail.com) Roteiro Atributos de qualidade Boas práticas de projeto Code Smell Padrões de Projeto Atributos de qualidade Coesão Acoplamento Atributos de qualidade

Leia mais

Padrões clássicos ou padrões GoF O livro "Design Patterns (1994) de Erich Gamma, John Vlissides, Ralph Jonhson e Richard Helm, descreve 23 padrões de

Padrões clássicos ou padrões GoF O livro Design Patterns (1994) de Erich Gamma, John Vlissides, Ralph Jonhson e Richard Helm, descreve 23 padrões de Padrões de Projeto Disciplina: Engenharia de Software - 2009.1 Professora: Rossana Maria de Castro Andrade Assistente da disciplina: Ricardo Fernandes de Almeida 1 O que é um Padrão? Um padrão descreve

Leia mais

Padrões de Projeto de Software

Padrões de Projeto de Software Padrões de Projeto de Software Luiz Leão luizleao@gmail.com http://www.luizleao.com Introdução O que é? Como descrever? Principais Padrões de Projetos Unidade 2 Padrões GoF PADRÕES CRIAÇÃO Abstract Factory

Leia mais

Padrões de Projeto em Desenvolvimento Web SCC 266. Prof. Renata Pontin M. Fortes renata@icmc.usp.br PAE: Willian Watanabe (watinha@gmail.

Padrões de Projeto em Desenvolvimento Web SCC 266. Prof. Renata Pontin M. Fortes renata@icmc.usp.br PAE: Willian Watanabe (watinha@gmail. Padrões de Projeto em Desenvolvimento Web SCC 266 Prof. Renata Pontin M. Fortes renata@icmc.usp.br PAE: Willian Watanabe (watinha@gmail.com) 2.semestre 2010 Instituto de Ciências Matemáticas e de Computação

Leia mais

INF011 Padrões de Projeto. 02 Creational Patterns

INF011 Padrões de Projeto. 02 Creational Patterns INF011 Padrões de Projeto 02 Creational Patterns Sandro Santos Andrade sandroandrade@ifba.edu.br Instituto Federal de Educação, Ciência e Tecnologia da Bahia Departamento de Tecnologia Eletro-Eletrônica

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 09 Padrões GoF (Adapter e Composite) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method Prototype Singleton

Leia mais

Padrões de Desenho. ---------Engenharia de Software---------

Padrões de Desenho. ---------Engenharia de Software--------- Padrões de Desenho Objectivos: Compreender o que são os padrões de desenho? Vantagens e desvantagens em usar os padrões de desenho? Qual o formato de um padrão de desenho? Conhecer as varias secções de

Leia mais

SCE 186- Engenharia de Software

SCE 186- Engenharia de Software Reuso de Software SCE 186- Engenharia de Software Profa Rosana T. Vaccare Braga (parte do material elaborado com base no tutorial sobre reuso da Profa. Claudia Werner) 1 Sumário Introdução Benefícios X

Leia mais

PADRÕES DE PROJETO EM OOERLANG UNIVERSIDADE DO ESTADO DO AMAZONAS - UEA. Manaus ESCOLA SUPERIOR DE TECNOLOGIA ENGENHARIA DE COMPUTAÇÃO

PADRÕES DE PROJETO EM OOERLANG UNIVERSIDADE DO ESTADO DO AMAZONAS - UEA. Manaus ESCOLA SUPERIOR DE TECNOLOGIA ENGENHARIA DE COMPUTAÇÃO UNIVERSIDADE DO ESTADO DO AMAZONAS - UEA ESCOLA SUPERIOR DE TECNOLOGIA ENGENHARIA DE COMPUTAÇÃO WILLIAM BREMGARTNER BELLEZA PADRÕES DE PROJETO EM OOERLANG Manaus 2013 WILLIAM BREMGARTNER BELLEZA PADRÕES

Leia mais

Padrões de Projeto em PHP

Padrões de Projeto em PHP Aprendendo Padrões de Projeto em PHP William Sanders Novatec Authorized Portuguese translation of the English edition of titled Learning PHP Design Patterns ISBN 9781449344917 2013 William B. Sanders.

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 10 Padrões GoF (Protoype e Façade) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method Prototype Singleton

Leia mais

Tópicos da Aula. POO e Padrões de Projetos. Considere três classes... Reuso de Classes. Locadora de DVD. Sistema Acadêmico

Tópicos da Aula. POO e Padrões de Projetos. Considere três classes... Reuso de Classes. Locadora de DVD. Sistema Acadêmico Reuso de Software Aula 03 Tópicos da Aula POO e Padrões de Projetos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 12 Março 2012 Programação orientada a objetos Reuso de

Leia mais

Flexibilidade e Reusabilidade em Sistemas Orientados a Objetos - Uma Proposta para Implementação no EB

Flexibilidade e Reusabilidade em Sistemas Orientados a Objetos - Uma Proposta para Implementação no EB Flexibilidade e Reusabilidade em Sistemas Orientados a Objetos - Uma Proposta para Implementação no EB GLAUBER VOLKMER SILVIO DANILO DE OLIVEIRA MARÇAL DE LIMA HOKAMA Resumo. Os padrões de projetos tratam

Leia mais

Padrões. Identificando padrões

Padrões. Identificando padrões Padrões Padrões são soluções para problemas específicos que ocorrem de forma recorrente em um determinado contexto que foram identificados a partir da experiência coletiva de desenvolvedores de software.

Leia mais

Padrões contexto problema solução

Padrões contexto problema solução Padrões Padrões são soluções para problemas específicos que ocorrem de forma recorrente em um determinado contexto que foram identificados a partir da experiência coletiva de desenvolvedores de software.

Leia mais

PADRÕES DE PROJETO FAÇADE, FLYWEIGHT E VISITOR

PADRÕES DE PROJETO FAÇADE, FLYWEIGHT E VISITOR FACULDADE DE CIÊNCIAS APLICADAS SAGRADO CORAÇÃO DIRETORIA DE ENSINO SUPERIOR COORDENAÇÃO DO CURSO DE SISTEMAS DE INFORMAÇÃO GUSTAVO ANDRÉ DE FREITAS RILIANE ALPOIM PARIS RODRIGO SILVA DE SOUZA PADRÕES

Leia mais

Padrões de Design Orientado a Objetos Design Patterns. Jorge H. C. Fernandes DI-UFPE, Junho de 1999

Padrões de Design Orientado a Objetos Design Patterns. Jorge H. C. Fernandes DI-UFPE, Junho de 1999 Padrões de Design Orientado a Objetos Design Patterns Jorge H. C. Fernandes DI-UFPE, Junho de 1999 Padrões de Design Bibliografia Design Patterns: Elements of Reusable Object- Oriented Software. Gamma,

Leia mais

Programação Orientada a Objetos. Padrões Estruturais

Programação Orientada a Objetos. Padrões Estruturais Programação Orientada a Objetos Padrões Estruturais Cristiano Lehrer, M.Sc. Classificação dos Padrões de Projeto Propósito o que o padrão faz: Padrões de criação: abstraem o processo de criação de objetos

Leia mais

Eduardo Bezerra. Editora Campus/Elsevier

Eduardo Bezerra. Editora Campus/Elsevier Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier Capítulo 8 Modelagem de classes de projeto A perfeição (no projeto) é alcançada, não quando não há

Leia mais

Padrões de Projeto. Bibliografia. Nomenclatura

Padrões de Projeto. Bibliografia. Nomenclatura Padrões de Projeto Prof. Maria Augusta Vieira Nelson PUC Minas Prof. Torsten Paul Nelson 1 Bibliografia LARMAN, Graig. Utilizando UML e Padroes:Uma introdução a análise e ao projeto orientados a objetos.

Leia mais

PADRÕES DE SOFTWARE. Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade. Grupo de Padrões de Software da UECE (GPS.

PADRÕES DE SOFTWARE. Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade. Grupo de Padrões de Software da UECE (GPS. PADRÕES DE SOFTWARE 1 Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade Grupo de Padrões de Software da UECE (GPS.UECE) Julho-2009 CONTEÚDO Introdução aos Padrões de Software O quê são padrões?

Leia mais

Padrões de Design. Padrões de Design. Abstract Factory. Padrões de Design. Padrões de Design Abstract Factory. Abstract Factory.

Padrões de Design. Padrões de Design. Abstract Factory. Padrões de Design. Padrões de Design Abstract Factory. Abstract Factory. Escopo Classe Objeto Finalidade Criação Estrutural Comportamental Factory Method Interperter Abstract Factory Builder Prototype Bridge Composite Facade Flyweight Proxy Chain of Responsibility Command Iterator

Leia mais

Arquitectura de Sistemas de Software

Arquitectura de Sistemas de Software Arquitectura de Sistemas de Software Ademar Aguiar www.fe.up.pt/~aaguiar ademar.aguiar@fe.up.pt Arquitectura de Sistemas de Software, LEIC/MEI, 2003/2004 1 Arquitectar... Arquitectar uma pequena cabana

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 05 Padrões GoF (Singleton e Iterator) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method Prototype

Leia mais

Padrões de Projeto. Parte 1. Prof. Fellipe Aleixo

Padrões de Projeto. Parte 1. Prof. Fellipe Aleixo Padrões de Projeto Parte 1 Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Padrões de Projeto de Software OO Também conhecidos como Padrões de Projeto de Software OO ou simplesmente como Padrões A Inspiração

Leia mais

Refatoração de sistemas Java utilizando padrões de projeto: um estudo de caso

Refatoração de sistemas Java utilizando padrões de projeto: um estudo de caso UNIVERSIDADE FEDERAL DE SÃO CARLOS CENTRO DE CIÊNCIAS EXATAS E DE TECNOLOGIA PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Refatoração de sistemas Java utilizando padrões de projeto: um estudo de

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Projeto e Implementação Padrões de Projeto Msc. Carlos Mar 04/2014 REVISÃO: ORIENTAÇÃO A OBJETOS Msc. Carlos Mar - Abr/2014 Conceitos Fundamentais Classe Objeto Atributos Métodos

Leia mais

Design Patterns. Viviane Torres da Silva

Design Patterns. Viviane Torres da Silva Design Patterns Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/2010.1/es1 Sumário Reuso de Software Introdução Benefícios e Desvantagens Visão do Reuso Padrões de Projeto

Leia mais

Módulo III Padrões GOF

Módulo III Padrões GOF Módulo III Padrões GOF Professores Eduardo Bezerra edubezerra@gmail.com Ismael H F Santos ismael@tecgraf.puc-rio.br April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Ementa Introdução aos

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 08 Padrões GoF (Observer e Builder) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method Prototype Singleton

Leia mais

Análise e Projeto. Padrões de Análise, Arquitetura e Projeto

Análise e Projeto. Padrões de Análise, Arquitetura e Projeto Análise e Projeto Padrões de Análise, Arquitetura e Projeto 33 Padrões de Arquitetura Padrões Nome do padrão Problema: quando aplicar o padrão? Descreve o problema e seu contexto. Solução: elementos que

Leia mais

Princípios de Engenharia de Software Resumo 8 Semana 8 Versão: 1.0 Data: 05/10/04

Princípios de Engenharia de Software Resumo 8 Semana 8 Versão: 1.0 Data: 05/10/04 Alunos: Ariane Bueno 0114784-9 Elaine A. de Carvalho 0114633-1 Gabriel Ramos 0114838» O QUE APRENDI ASSUNTO: ARQUITETURA ASSUNTO: Notas de aula referentes às aulas de 30/09/04, Arquitetura de Software(Shaw),

Leia mais

Especialização em web com interfaces ricas. Padrões de Projeto - Estruturais

Especialização em web com interfaces ricas. Padrões de Projeto - Estruturais Especialização em web com interfaces ricas Padrões de Projeto - Estruturais Prof. Fabrízzio Alphonsus A. M. N. Soares fabrizzio@inf.ufg.br professor.fabrizzio@gmail.com Instituto de Informática Universidade

Leia mais

Correção- STJ. Professor Marcelo Pacote marcelopacote@dominandoti.com.br W W W. D OMINANDOTI.COM.BR

Correção- STJ. Professor Marcelo Pacote marcelopacote@dominandoti.com.br W W W. D OMINANDOTI.COM.BR Correção- STJ Professor Marcelo Pacote marcelopacote@dominandoti.com.br WWW.DOMINANDOTI.COM.BR Acesse nosso site em WWW.DOMINANDOTI.COM.BR Cursos Livros Fórum Simulados Blog Materiais Turmas em Brasília,

Leia mais

Padrões de Software (Software Patterns)

Padrões de Software (Software Patterns) Padrões de Software (Software Patterns) Cleidson de Souza - cdesouza@ufpa.br Departamento de Informática Universidade Federal do Pará Agenda! Definição! Histórico! Motivação! Exemplo Estratégia MVC! Forma

Leia mais

Design Patterns. Histórico e Fundamentos: Padrões do GoF Criacionais Estruturais Comportamentais. Fernando Anselmo

Design Patterns. Histórico e Fundamentos: Padrões do GoF Criacionais Estruturais Comportamentais. Fernando Anselmo Design Patterns Histórico e Fundamentos: Padrões do GoF Criacionais Estruturais Comportamentais Fernando Anselmo Sobre o Instrutor Fernando Anselmo fernando.anselmo@x25.com.br 25 anos na área de Desenvolvimento

Leia mais

Padrões de Projeto de Software Orientado a Objetos

Padrões de Projeto de Software Orientado a Objetos Padrões de Projeto de Software Orientado a Objetos Ricardo Argenton Ramos [Baseado nos slides do professor Fabio Kon - USP] 1 Padrões de Projeto de Software OO Também conhecidos como Padrões de Desenho

Leia mais

Programação Orientada a Objetos. Padrões Comportamentais

Programação Orientada a Objetos. Padrões Comportamentais Programação Orientada a Objetos Padrões Comportamentais Cristiano Lehrer, M.Sc. Classificação dos Padrões de Projeto Propósito o que o padrão faz: Padrões de criação: abstraem o processo de criação de

Leia mais

Padrões de Design. Jair C Leite

Padrões de Design. Jair C Leite Padrões de Design Jair C Leite Padrões Padrões são soluções para problemas específicos que ocorrem de forma recorrente em um determinado contexto que foram identificados a partir da experiência coletiva

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 06 Padrões GoF (Factory Method e Abstract Factory) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method

Leia mais

UNIVERSIDADE ESTADUAL DE MARINGÁ CENTRO DE TECNOLOGIA DEPARTAMENTO DE INFORMÁTICA CURSO DE ESPECIALIZAÇÃO: DESENVOLVIMENTO DE SISTEMAS PARA WEB

UNIVERSIDADE ESTADUAL DE MARINGÁ CENTRO DE TECNOLOGIA DEPARTAMENTO DE INFORMÁTICA CURSO DE ESPECIALIZAÇÃO: DESENVOLVIMENTO DE SISTEMAS PARA WEB UNIVERSIDADE ESTADUAL DE MARINGÁ CENTRO DE TECNOLOGIA DEPARTAMENTO DE INFORMÁTICA CURSO DE ESPECIALIZAÇÃO: DESENVOLVIMENTO DE SISTEMAS PARA WEB APLICAÇÃO DE DESIGN PATTERNS NO DESENVOLVIMENTO DE SISTEMAS

Leia mais

Arquitectura de Sistemas de Software Mestrado em Engenharia Informática Licenciatura em Engenharia Informática e Computação

Arquitectura de Sistemas de Software Mestrado em Engenharia Informática Licenciatura em Engenharia Informática e Computação Arquitectura de Sistemas de Software Mestrado em Engenharia Informática Licenciatura em Engenharia Informática e Computação Ademar Aguiar Universidade do Porto & INESC Porto ademar.aguiar at fe.up.pt FEUP

Leia mais

Tópicos Especiais em Informática Fatec Indaiatuba

Tópicos Especiais em Informática Fatec Indaiatuba Prof. Dr. Dilermando Piva Jr. Fatec Indaiatuba O que tem a ver isso com Programação? Imagine que uma pessoa tenha aprendido diversas técnicas de pintura. A partir desse conhecimento, ela saberá como pegar

Leia mais

MÓDULO Modelagem de classes de projeto

MÓDULO Modelagem de classes de projeto MÓDULO Modelagem de classes de projeto A perfeição (no projeto) é alcançada, não quando não há nada mais para adicionar, mas quando não há nada mais para retirar. -Eric Raymond, The Cathedral and the Bazaar

Leia mais

Prof. Dr. Dilermando Piva Jr. Fatec Indaiatuba

Prof. Dr. Dilermando Piva Jr. Fatec Indaiatuba Prof. Dr. Dilermando Piva Jr. Fatec Indaiatuba Imagine que uma pessoa tenha aprendido diversas técnicas de pintura. A partir desse conhecimento, ela saberá como pegar um pincel, como misturar as cores

Leia mais

ILUSTRANDO PADRÕES DE IMPLEMENTAÇÃO DE PROJETOS BASEADOS EM OBJETOS

ILUSTRANDO PADRÕES DE IMPLEMENTAÇÃO DE PROJETOS BASEADOS EM OBJETOS ILUSTRANDO PADRÕES DE IMPLEMENTAÇÃO DE PROJETOS BASEADOS EM OBJETOS ANDREIA TRAVAGLIA Uberlândia, Dezembro/2001. ILUSTRANDO PADRÕES DE IMPLEMENTAÇÃO DE PROJETOS BASEADOS EM OBJETOS ANDREIA TRAVAGLIA Monografia

Leia mais

Técnicas de Programação Avançada TCC-00175 Profs.: Anselmo Montenegro www.ic.uff.br/~anselmo

Técnicas de Programação Avançada TCC-00175 Profs.: Anselmo Montenegro www.ic.uff.br/~anselmo Técnicas de Programação Avançada TCC-00175 Profs.: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo:Introdução a Frameworks para Aplicações Baseado em Building Application Frameworks Mohamed E. Fayad

Leia mais

b) Adapter, Bridge e Composite. c) Builder, Prototype e Singleton. d) Façade, Command e Decorator. e) Factory Method, Interpreter e Template Method.

b) Adapter, Bridge e Composite. c) Builder, Prototype e Singleton. d) Façade, Command e Decorator. e) Factory Method, Interpreter e Template Method. 1) Considere os diagramas de classes de análise fornecidos nos itens (a) e (b) abaixo, ambos de acordo com a notação da UML. Esses diagramas desejam representar o fato de que uma conta bancária pode estar

Leia mais

Curso - Padrões de Projeto Módulo 2: Padrões de Criação

Curso - Padrões de Projeto Módulo 2: Padrões de Criação Curso - Padrões de Projeto Módulo 2: Padrões de Criação Vítor E. Silva Souza vitorsouza@gmail.com http://www.javablogs.com.br/page/engenho http://esjug.dev.java.net Sobre o Instrutor Formação: Java: Graduação

Leia mais

Um Estudo sobre Padrões de Projeto Aplicados a Garbage Collection

Um Estudo sobre Padrões de Projeto Aplicados a Garbage Collection Um Estudo sobre Padrões de Projeto Aplicados a Garbage Collection Cássio Frederico Moreira Druziani 1, Ailton Sergio Bonifácio 1, Yandre Maldonado e Gomes da Costa 1, Alberto Ângelo Fabris 2 1 Instituto

Leia mais

Padrões de projeto 1

Padrões de projeto 1 Padrões de projeto 1 Design Orientado Objeto Encapsulamento Herança Polimorfismo Design Patterns 2 Responsabilidades Booch e Rumbaugh Responsabilidade é um contrato ou obrigação de um tipo ou classe. Dois

Leia mais

Pasteur Ottoni de Miranda Junior. Alguns Padrões de Projeto Gamma

Pasteur Ottoni de Miranda Junior. Alguns Padrões de Projeto Gamma Pasteur Ottoni de Miranda Junior Alguns Padrões de Projeto Gamma Padrões Gamma de Projeto(ou Gang-of-Four, gof) Os padrões gof foram publicados por Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides

Leia mais

Padrões de Software (Software Patterns)

Padrões de Software (Software Patterns) Padrões de Software (Software Patterns) Cleidson de Souza - cdesouza@ufpa.br Departamento de Informática Universidade Federal do Pará Agenda! Definição! Histórico! Considerações! Forma de um Padrão! Exemplo!

Leia mais

Decorator Pattern. SISMO - Sistemas e Mobilidade http://www.sismo.deinf.ufma.br. Junho de 2008. Departamento de Informática / UFMA

Decorator Pattern. SISMO - Sistemas e Mobilidade http://www.sismo.deinf.ufma.br. Junho de 2008. Departamento de Informática / UFMA Decorator Pattern SISMO - Sistemas e Mobilidade http://www.sismo.deinf.ufma.br Departamento de Informática / UFMA Junho de 2008 Revisando os conceitos Herança é poderosa mas não é flexível Comportamento

Leia mais

Padrão Básico de Projeto: Interfaces e Polimorfismo

Padrão Básico de Projeto: Interfaces e Polimorfismo Padrão Básico de Projeto: Interfaces e Polimorfismo Herança de implementação versus herança de interface Há uma diferença grande entre uma classe e seu tipo A classe define ambos um tipo e uma implementação

Leia mais

Sumário. Prefácio 12. Capítulo 1 - Técnicas Simples Para um Código Limpo 23

Sumário. Prefácio 12. Capítulo 1 - Técnicas Simples Para um Código Limpo 23 Prefácio 12 Para quem é esse livro? 13 Objetivos do livro 13 Por que Engenharia de Software? 14 Como esse livro está escrito 16 Perguntas 16 Código em texto corrido 16 Caixas de código 16 Caixas com conteúdo

Leia mais

Abstract Factory Builder Factory Method Prototype Singleton Adapter Bridge Composite Decorator Facade Flyweight Proxy

Abstract Factory Builder Factory Method Prototype Singleton Adapter Bridge Composite Decorator Facade Flyweight Proxy Abstract Factory Builder Factory Method Prototype Singleton Adapter Bridge Composite Decorator Facade Flyweight Proxy Chain of Responsibility Command Interpreter Iterator Mediator Memento Observer State

Leia mais

Histórico de revisões

Histórico de revisões Design Patterns Histórico de revisões Data Versão Descrição Autor 15/1/2014 1.0 Finalização da primeira versão HEngholmJr OBJETIVOS Fornecer uma visão geral sobre Design Patterns visando atingir os requisitos

Leia mais

Padrões Comportamentais. Padrões de Projeto Comportamentais. Motivação. Chain of Responsibility (CoR) Padrão Chain of Responsibility

Padrões Comportamentais. Padrões de Projeto Comportamentais. Motivação. Chain of Responsibility (CoR) Padrão Chain of Responsibility DCC / ICEx / UFMG Padrões Comportamentais Padrões de Projeto Comportamentais Command Observer Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Interpreter Iterator Memento Strategy Template Method

Leia mais

6.170 Revisão para a Prova

6.170 Revisão para a Prova 6.170 Revisão para a Prova Tópicos: 1. Desacoplamento 2. Abstração de dados 3. Funções de Abstração e Invariantes de Representação 4. Abstração de Iteração & Iteradores 5. Modelos de Objeto e Invariantes

Leia mais

Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI PCO203 Tópicos Especiais em Programação

Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI PCO203 Tópicos Especiais em Programação UNIFEI Disciplina Professor Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI PCO203 Tópicos Especiais em Programação Enzo Seraphim 1 Padrões de Operação

Leia mais

Aspect-Oriented Programming AOP. Comentários Sérgio Crespo

Aspect-Oriented Programming AOP. Comentários Sérgio Crespo Aspect-Oriented Programming AOP Comentários Sérgio Crespo Separation of Concerns O princípio de Separation of Concerns já é utilizado por engenheiros de software para o gerenciar a complexidade de sistemas

Leia mais

Factory Method. Edeyson Andrade Gomes www.edeyson.com.br

Factory Method. Edeyson Andrade Gomes www.edeyson.com.br Factory Method Edeyson Andrade Gomes www.edeyson.com.br Agenda Resumo Quando Usar Participantes Colaborações Conseqüências Exemplo Estrutura Genérica Exercício 2 Resumo Ao invés do cliente instanciar objetos

Leia mais

Programação Orientada a Objetos. Padrões de Projeto

Programação Orientada a Objetos. Padrões de Projeto Programação Orientada a Objetos Padrões de Projeto 1 Contexto Desenvolver sistemas reutilizáveis é difícil porque deve-se procurar por: Uma boa decomposição do problema e a abstração correta. Flexibilidade,

Leia mais

CURSO DE PÓS-GRADUAÇÃO LATO SENSU EM ENGENHARIA DE SOFTWARE A DISTÂNCIA 3ª TURMA

CURSO DE PÓS-GRADUAÇÃO LATO SENSU EM ENGENHARIA DE SOFTWARE A DISTÂNCIA 3ª TURMA CURSO DE PÓS-GRADUAÇÃO LATO SENSU EM ENGENHARIA DE SOFTWARE A DISTÂNCIA 3ª TURMA Promovido pelo CENTRO UNIVERSITÁRIO UNIEURO BRASÍLIA, em parceria com o CENTRO UNIVERSITÁRIO DO MARANHÃO UNICEUMA PARCERIA

Leia mais