• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Design Pattern e a reusabilidade de software
 

Design Pattern e a reusabilidade de software

on

  • 2,991 views

A crescente necessidade do mercado de obter produtos e serviços cada vez mais competitivos, traz consigo a necessidade de se buscar excelência em um determinado produto final. Na área dos sistemas ...

A crescente necessidade do mercado de obter produtos e serviços cada vez mais competitivos, traz consigo a necessidade de se buscar excelência em um determinado produto final. Na área dos sistemas de software não é diferente. Quando conceitos como padronização e reusabilidade são encorajados visando a qualidade (na criação) e agilidade (na manuteção) de um determinado produto de software, é pretendível que seja dada uma amplitude maior em soluções técnicas baseadas no conceito de “boas práticas” de desenvolvimento. Padrões de projeto, ou design patterns, visam resolver soluções em contextos diferentes sem que essa solução precise ser reescrita para ser implementada. Quando design patterns são implementados, desenvolvedores mais experientes já implementaram, testaram e catalogaram uma determinada solução para que a mesma possa ser usada em contextos diferentes. Este trabalho apresenta o conceito de desing patterns e reusabilidade, bem como conceitos preliminares como orientação a objetos. Também será abordado um estudo de caso, onde foram implementados alguns padrões de projeto na linguagem PHP5.

Statistics

Views

Total Views
2,991
Views on SlideShare
2,975
Embed Views
16

Actions

Likes
0
Downloads
66
Comments
0

1 Embed 16

http://www.slideshare.net 16

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Design Pattern e a reusabilidade de software Design Pattern e a reusabilidade de software Presentation Transcript

    • Introdu¸˜o ca Funcamenta¸˜o Te´rica ca o Design Patterns Aplica¸˜o Pr´tica ca a Conclus˜oa Referˆncias e Design Pattern e a Reusabilidade de Software Trabalho de Conclus˜o de Curso a Klevison de Barros Matias Jos´ Ten´rio C. Costa e o Ciˆncia da Computa¸˜o e ca Faculdade Alagoana de Administra¸˜o ca Setembro de 2009 1 / 27
    • Introdu¸˜o ca Funcamenta¸˜o Te´rica ca o Introdu¸˜o aos Padr˜es de Projeto ca o Design Patterns Contexto Aplica¸˜o Pr´tica ca a Advento Conclus˜oa Referˆncias e Conte´do u 1 Introdu¸˜o ca Introdu¸˜o aos Padr˜es de Projeto ca o Contexto Advento 2 Funcamenta¸˜o Te´rica ca o Orienta¸˜o a Objetos ca Reusabilidade de Software 3 Design Patterns Introdu¸˜o ca Conceito Motiva¸˜o ca 4 Aplica¸˜o Pr´tica ca a Patterns 5 Conclus˜o a Conclus˜es Finais o 2 / 27
    • Introdu¸˜o ca Funcamenta¸˜o Te´rica ca o Introdu¸˜o aos Padr˜es de Projeto ca o Design Patterns Contexto Aplica¸˜o Pr´tica ca a Advento Conclus˜oa Referˆncias e Tema O presente trabalho visa abordar os principais conceitos relativos a reusabilidade e Padr˜es de Projeto de Software, os quais descrevem o poss´ıveis solu¸˜es de problemas comuns encontrados em projetos co orientados a objetos (Meyer, 1997). 3 / 27
    • Introdu¸˜o ca Funcamenta¸˜o Te´rica ca o Introdu¸˜o aos Padr˜es de Projeto ca o Design Patterns Contexto Aplica¸˜o Pr´tica ca a Advento Conclus˜oa Referˆncias e Reusabilidade A complexidade de desenvolvimento de software ´ cada vez mais e crescente e o processo de desenvolvimento ´ ainda muito baseado e em empirismo e sujeito a erros (Gerber, 1999). Para diminuir essa complexidade, o conceito de padroniza¸˜o surgiu para atender a ca reutiliza¸˜o (no que tange ` produtividade). ca a 4 / 27
    • Introdu¸˜o ca Funcamenta¸˜o Te´rica ca o Introdu¸˜o aos Padr˜es de Projeto ca o Design Patterns Contexto Aplica¸˜o Pr´tica ca a Advento Conclus˜oa Referˆncias e Design Patterns Ao se padronizar todo esse processo de desenvolvimento, permite-se que: conceitos adotados e desenvolvidos por programadores mais experientes sejam transmitidos de forma clara para os programadores novos no projeto ou inexperientes; haja facilidade na comunica¸˜o entre a equipe de ca desenvolvimento. 5 / 27
    • Introdu¸˜o ca Funcamenta¸˜o Te´rica ca o Introdu¸˜o aos Padr˜es de Projeto ca o Design Patterns Contexto Aplica¸˜o Pr´tica ca a Advento Conclus˜oa Referˆncias e Conceito de Patterns Todo o conceito de Padr˜es de Projeto foi criado pelo engenheiro o civil Cristopher Alexander. Em A Pattern Language: Towns, Buildings, Constructions, Alexander afirmou Um pattern descreve um problema que ocorre com frequˆncia em nosso ambiente, e ent˜o explica a essˆncia e a e da solu¸˜o para este problema, de forma que tal solu¸˜o ca ca possa ser utilizada milh˜es de outras vezes, sem ao o menos repeti-la uma unica vez. ´ 6 / 27
    • Introdu¸˜o ca Funcamenta¸˜o Te´rica ca o Introdu¸˜o aos Padr˜es de Projeto ca o Design Patterns Contexto Aplica¸˜o Pr´tica ca a Advento Conclus˜oa Referˆncias e Conceito de Patterns Ao dizer isto Cristopher estava se referindo a padr˜es para o constru¸˜es, como pr´dios, pontes, dentre outros. Apesar disso, co e essas palavras podem ser perfeitamente utilizadas no contexto de engenharia de software (Oglio, 2007). 7 / 27
    • Introdu¸˜o ca Funcamenta¸˜o Te´rica ca o Design Patterns Orienta¸˜o a Objetos ca Aplica¸˜o Pr´tica ca a Reusabilidade de Software Conclus˜oa Referˆncias e Conte´do u 1 Introdu¸˜o ca Introdu¸˜o aos Padr˜es de Projeto ca o Contexto Advento 2 Funcamenta¸˜o Te´rica ca o Orienta¸˜o a Objetos ca Reusabilidade de Software 3 Design Patterns Introdu¸˜o ca Conceito Motiva¸˜o ca 4 Aplica¸˜o Pr´tica ca a Patterns 5 Conclus˜o a Conclus˜es Finais o 8 / 27
    • Introdu¸˜o ca Funcamenta¸˜o Te´rica ca o Design Patterns Orienta¸˜o a Objetos ca Aplica¸˜o Pr´tica ca a Reusabilidade de Software Conclus˜oa Referˆncias e Entender sistemas orientado a objetos ´ a arte de combinar o e concreto (objetos e suas intera¸˜es) com o abstrato (classes e seus co relacionamentos) (Lange & Nakamura, 1995).O concreto descreve o que o n´s podemos ver de uma execu¸˜o do sistema e o abstrato o ca descreve o que n´s podemos esperar de um sistema. o 9 / 27
    • Introdu¸˜o ca Funcamenta¸˜o Te´rica ca o Design Patterns Orienta¸˜o a Objetos ca Aplica¸˜o Pr´tica ca a Reusabilidade de Software Conclus˜oa Referˆncias e Introdu¸˜o ca Com a evolu¸˜o de conceitos como orienta¸˜o a objetos os ca ca projetistas mais experientes perceberam que determinadas solu¸˜es de projeto poderiam ser aplicadas em diferentes co casos, logo, eles reusaram essas solu¸˜es. co A reusabilidade n˜o ´ obtida pelo simples fato de a e desenvolvermos softwares orientados a objetos. Segundo Gamma et al. (1995) projetar software orientados a objeto ´ dif´ mas projetar software reutiliz´vel orientado a e ıcil, a objetos ´ ainda mais complicado. e 10 / 27
    • Introdu¸˜o ca Funcamenta¸˜o Te´rica ca o Design Patterns Orienta¸˜o a Objetos ca Aplica¸˜o Pr´tica ca a Reusabilidade de Software Conclus˜oa Referˆncias e Objetivo A reusabilidade pode ser considerada algo que ir´ prover a “informa¸˜es ou servi¸os” de programas que podem ser co c usados em m´ltiplas aplica¸˜es, tornando-se resposta u co importante aos problemas de produtividade de software. Padr˜es de projeto devem ajudar a melhorar a reusabilidade. o Aumentar a reusabilidade de software ´ considerada como e pr´-condi¸˜o t´cnica crucial para melhorar a qualidade geral e ca e do software e reduzir os custos de manuten¸˜o e ca produ¸˜o (Pree, 1995). ca 11 / 27
    • Introdu¸˜o ca Funcamenta¸˜o Te´rica ca o Design Patterns Orienta¸˜o a Objetos ca Aplica¸˜o Pr´tica ca a Reusabilidade de Software Conclus˜oa Referˆncias e Motiva¸˜o ca A reutiliza¸˜o de software se torna uma barreira para muitos ca programadores, pois em muitos casos os benef´ ıcios s˜o a percebidos a longo prazo fazendo com que a equipe fique desmotivada em desenvolver solu¸˜es reutiliz´veis quando, em co a geral, a linha de tempo para o desenvolvimento de um software ´ curta. Existe tamb´m a barreira t´cnica, pois e e e muitos programadores podem n˜o entender o que reusar ou a como reusar. Para se criar um projeto de software (padronizado) onde se justifique o uso das melhores pr´ticas faz-se necess´rio um a a conhecimento acurado de orienta¸˜o a objetos e design ca patterns como tamb´m motiva¸˜o e vis˜o, a longo prazo, da e ca a equipe. 12 / 27
    • Introdu¸˜o ca Funcamenta¸˜o Te´rica ca o Introdu¸˜o ca Design Patterns Conceito Aplica¸˜o Pr´tica ca a Motiva¸˜o ca Conclus˜oa Referˆncias e Conte´do u 1 Introdu¸˜o ca Introdu¸˜o aos Padr˜es de Projeto ca o Contexto Advento 2 Funcamenta¸˜o Te´rica ca o Orienta¸˜o a Objetos ca Reusabilidade de Software 3 Design Patterns Introdu¸˜o ca Conceito Motiva¸˜o ca 4 Aplica¸˜o Pr´tica ca a Patterns 5 Conclus˜o a Conclus˜es Finais o 13 / 27
    • Introdu¸˜o ca Funcamenta¸˜o Te´rica ca o Introdu¸˜o ca Design Patterns Conceito Aplica¸˜o Pr´tica ca a Motiva¸˜o ca Conclus˜oa Referˆncias e Introdu¸˜o ca Design patterns vˆm ganhando grande aceita¸˜o como uma e ca ferramenta para modelagem orientada a objetos (Agostini et al., 2007), pois existem problemas de software que, embora estejam situados em contextos diferentes, podem ser solucionados de maneiras semelhantes. Fazendo com que problemas antigos, que j´ foram vivenciados a pelos programadores mais experientes, ser˜o catalogados e a padronizados para evitar futuros problemas. Para Agostini et al. (2007), os patterns s˜o estruturas classe a que foram usadas por muitos anos e foram estabelecidos como solu¸˜es eficientes para muitos problemas. co 14 / 27
    • Introdu¸˜o ca Funcamenta¸˜o Te´rica ca o Introdu¸˜o ca Design Patterns Conceito Aplica¸˜o Pr´tica ca a Motiva¸˜o ca Conclus˜oa Referˆncias e Origem Percebendo que todas as constru¸˜es de edif´ co ıcios possu´ ıam algumas caracter´ ısticas em comum, o engenheiro civil Cristopher Alexander resolveu catalogar estas solu¸˜es em seu co livro The Timeless Way of Building. Na ´rea de engenharia de software essas pr´ticas foram a a adaptadas para a constru¸˜o de sistemas de informa¸˜o. ca ca Liderada por Erich Gamma a GoF (Gang of Four ) - Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides publicaram o livro Design Patterns: Elements of Reusable Object-Oriented Software. O livro continha a descri¸˜o de 23 ca padr˜es para problemas que eram comumente encontrados o durante o desenvolvimento de software. 15 / 27
    • Introdu¸˜o ca Funcamenta¸˜o Te´rica ca o Introdu¸˜o ca Design Patterns Conceito Aplica¸˜o Pr´tica ca a Motiva¸˜o ca Conclus˜oa Referˆncias e Conceito Um padr˜o pode ser definido como sendo um esbo¸o, em vez a c da implementa¸˜o espec´ ca ıfica, ou seja, um modelo a ser seguido durante a constru¸˜o do software (Coad et al., 1995). ca As melhores pr´ticas de projetos antigos s˜o executadas a a visando que o esfor¸o para evitar retrabalho seja m´ c ınimo. Com essas experiˆncias j´ testadas e comprovadamente ideais, e a tem-se um vocabul´rio comum que permitir´ uma melhor a a comunica¸˜o entre a equipe. ca Design Patterns s˜o metodologias de constru¸˜o de software a ca comprovadamente funcionais que garantem legibilidade, manutenabilidade e reutiliza¸˜o de c´digo-fonte no ca o desenvolvimento de alguma aplica¸˜o computacional ca (Daniel Welfer, 2005). 16 / 27
    • Introdu¸˜o ca Funcamenta¸˜o Te´rica ca o Introdu¸˜o ca Design Patterns Conceito Aplica¸˜o Pr´tica ca a Motiva¸˜o ca Conclus˜oa Referˆncias e Conceito Um padr˜o pode ser definido como sendo um esbo¸o, em vez a c da implementa¸˜o espec´ ca ıfica, ou seja, um modelo a ser seguido durante a constru¸˜o do software (Coad et al., 1995). ca As melhores pr´ticas de projetos antigos s˜o executadas a a visando que o esfor¸o para evitar retrabalho seja m´ c ınimo. Com essas experiˆncias j´ testadas e comprovadamente ideais, e a tem-se um vocabul´rio comum que permitir´ uma melhor a a comunica¸˜o entre a equipe. ca Design Patterns s˜o metodologias de constru¸˜o de software a ca comprovadamente funcionais que garantem legibilidade, manutenabilidade e reutiliza¸˜o de c´digo-fonte no ca o desenvolvimento de alguma aplica¸˜o computacional ca (Daniel Welfer, 2005). 16 / 27
    • Introdu¸˜o ca Funcamenta¸˜o Te´rica ca o Introdu¸˜o ca Design Patterns Conceito Aplica¸˜o Pr´tica ca a Motiva¸˜o ca Conclus˜oa Referˆncias e Conceito Um padr˜o pode ser definido como sendo um esbo¸o, em vez a c da implementa¸˜o espec´ ca ıfica, ou seja, um modelo a ser seguido durante a constru¸˜o do software (Coad et al., 1995). ca As melhores pr´ticas de projetos antigos s˜o executadas a a visando que o esfor¸o para evitar retrabalho seja m´ c ınimo. Com essas experiˆncias j´ testadas e comprovadamente ideais, e a tem-se um vocabul´rio comum que permitir´ uma melhor a a comunica¸˜o entre a equipe. ca Design Patterns s˜o metodologias de constru¸˜o de software a ca comprovadamente funcionais que garantem legibilidade, manutenabilidade e reutiliza¸˜o de c´digo-fonte no ca o desenvolvimento de alguma aplica¸˜o computacional ca (Daniel Welfer, 2005). 16 / 27
    • Introdu¸˜o ca Funcamenta¸˜o Te´rica ca o Introdu¸˜o ca Design Patterns Conceito Aplica¸˜o Pr´tica ca a Motiva¸˜o ca Conclus˜oa Referˆncias e Conceito Um padr˜o pode ser definido como sendo um esbo¸o, em vez a c da implementa¸˜o espec´ ca ıfica, ou seja, um modelo a ser seguido durante a constru¸˜o do software (Coad et al., 1995). ca As melhores pr´ticas de projetos antigos s˜o executadas a a visando que o esfor¸o para evitar retrabalho seja m´ c ınimo. Com essas experiˆncias j´ testadas e comprovadamente ideais, e a tem-se um vocabul´rio comum que permitir´ uma melhor a a comunica¸˜o entre a equipe. ca Design Patterns s˜o metodologias de constru¸˜o de software a ca comprovadamente funcionais que garantem legibilidade, manutenabilidade e reutiliza¸˜o de c´digo-fonte no ca o desenvolvimento de alguma aplica¸˜o computacional ca (Daniel Welfer, 2005). 16 / 27
    • Introdu¸˜o ca Funcamenta¸˜o Te´rica ca o Introdu¸˜o ca Design Patterns Conceito Aplica¸˜o Pr´tica ca a Motiva¸˜o ca Conclus˜oa Referˆncias e Classifica¸˜o ca Os padr˜es de projeto s˜o classificados de v´rias maneiras, por´m o a a e o mais comum ´ classific´-los de acordo com os tipos de problemas e a que eles resolvem. De acordo com esse crit´rio, os padr˜es podem e o ser: Cria¸˜o Resolvem os problemas da cria¸˜o de objetos. ca ca Estruturais Lidam com os problemas de relacionamentos entre objetos. Comportamentais Lidam com os problemas de atribui¸˜o de ca responsabilidades aos objetos. 17 / 27
    • Introdu¸˜o ca Funcamenta¸˜o Te´rica ca o Introdu¸˜o ca Design Patterns Conceito Aplica¸˜o Pr´tica ca a Motiva¸˜o ca Conclus˜oa Referˆncias e Motiva¸˜o ca Design patterns tˆm v´rios usos no processo de desenvolvimento e a de software orientado a objetos (Schneide, 1999): formam um vocabul´rio comum que permite uma melhor a comunica¸˜o entre os desenvolvedores, uma documenta¸˜o ca ca mais completa e uma melhor explora¸˜o das alternativas de ca projeto; constituem uma base de experiˆncias reutiliz´veis para a e a constru¸˜o de software; ca reduzem o tempo de aprendizado de uma determinada biblioteca de classes; quanto mais cedo s˜o usados, menor ser´ o retrabalho em a a etapas mais avan¸adas do projeto. c 18 / 27
    • Introdu¸˜o ca Funcamenta¸˜o Te´rica ca o Introdu¸˜o ca Design Patterns Conceito Aplica¸˜o Pr´tica ca a Motiva¸˜o ca Conclus˜oa Referˆncias e Motiva¸˜o ca Design patterns tˆm v´rios usos no processo de desenvolvimento e a de software orientado a objetos (Schneide, 1999): formam um vocabul´rio comum que permite uma melhor a comunica¸˜o entre os desenvolvedores, uma documenta¸˜o ca ca mais completa e uma melhor explora¸˜o das alternativas de ca projeto; constituem uma base de experiˆncias reutiliz´veis para a e a constru¸˜o de software; ca reduzem o tempo de aprendizado de uma determinada biblioteca de classes; quanto mais cedo s˜o usados, menor ser´ o retrabalho em a a etapas mais avan¸adas do projeto. c 18 / 27
    • Introdu¸˜o ca Funcamenta¸˜o Te´rica ca o Introdu¸˜o ca Design Patterns Conceito Aplica¸˜o Pr´tica ca a Motiva¸˜o ca Conclus˜oa Referˆncias e Motiva¸˜o ca Design patterns tˆm v´rios usos no processo de desenvolvimento e a de software orientado a objetos (Schneide, 1999): formam um vocabul´rio comum que permite uma melhor a comunica¸˜o entre os desenvolvedores, uma documenta¸˜o ca ca mais completa e uma melhor explora¸˜o das alternativas de ca projeto; constituem uma base de experiˆncias reutiliz´veis para a e a constru¸˜o de software; ca reduzem o tempo de aprendizado de uma determinada biblioteca de classes; quanto mais cedo s˜o usados, menor ser´ o retrabalho em a a etapas mais avan¸adas do projeto. c 18 / 27
    • Introdu¸˜o ca Funcamenta¸˜o Te´rica ca o Introdu¸˜o ca Design Patterns Conceito Aplica¸˜o Pr´tica ca a Motiva¸˜o ca Conclus˜oa Referˆncias e Motiva¸˜o ca Design patterns tˆm v´rios usos no processo de desenvolvimento e a de software orientado a objetos (Schneide, 1999): formam um vocabul´rio comum que permite uma melhor a comunica¸˜o entre os desenvolvedores, uma documenta¸˜o ca ca mais completa e uma melhor explora¸˜o das alternativas de ca projeto; constituem uma base de experiˆncias reutiliz´veis para a e a constru¸˜o de software; ca reduzem o tempo de aprendizado de uma determinada biblioteca de classes; quanto mais cedo s˜o usados, menor ser´ o retrabalho em a a etapas mais avan¸adas do projeto. c 18 / 27
    • Introdu¸˜o ca Funcamenta¸˜o Te´rica ca o Design Patterns Patterns Aplica¸˜o Pr´tica ca a Conclus˜oa Referˆncias e Conte´do u 1 Introdu¸˜o ca Introdu¸˜o aos Padr˜es de Projeto ca o Contexto Advento 2 Funcamenta¸˜o Te´rica ca o Orienta¸˜o a Objetos ca Reusabilidade de Software 3 Design Patterns Introdu¸˜o ca Conceito Motiva¸˜o ca 4 Aplica¸˜o Pr´tica ca a Patterns 5 Conclus˜o a Conclus˜es Finais o 19 / 27
    • Introdu¸˜o ca Funcamenta¸˜o Te´rica ca o Design Patterns Patterns Aplica¸˜o Pr´tica ca a Conclus˜oa Referˆncias e Singleton O pattern Singleton est´ entre um dos mais simples patterns a ser a implementado, pois seu objetivo ´ apenas garantir que seja e mantida somente instˆncia de um determinado objeto. Ou seja, a a pr´pria classe garante que nenhuma outra instˆncia seja criada, o a bem como oferece uma maneira de acessar sua pr´pria instˆncia. o a 20 / 27
    • Introdu¸˜o ca Funcamenta¸˜o Te´rica ca o Design Patterns Patterns Aplica¸˜o Pr´tica ca a Conclus˜oa Referˆncias e Factory Existem certas situa¸˜es em aplica¸˜es que, seja por uma co co interven¸˜o humana ou por uma implementa¸˜o mais complexa, o ca ca programador n˜o saber´ como o programa ir´ se comportar diante a a a de uma determinada situa¸˜o. Com isso, o programador pode n˜o ca a saber que classe dever´ ser instanciada em determinado momento a de uma aplica¸˜o. Para facilitar esse tipo de situa¸˜o foi criado o ca ca pattern Factory. 21 / 27
    • Introdu¸˜o ca Funcamenta¸˜o Te´rica ca o Design Patterns Patterns Aplica¸˜o Pr´tica ca a Conclus˜oa Referˆncias e Fa¸ade c O objetivo deste pattern ´ fornecer uma interface unificada para e um conjunto de interfaces em um subsistema (Gamma et al., 1995). Ou seja, o pattern Fa¸ade ´ o isolamento entre camadas de c e um sistema, permitindo uma interface mais simples de comunica¸˜o entre essas camadas, como tamb´m um acoplamento ca e baixo. 22 / 27
    • Introdu¸˜o ca Funcamenta¸˜o Te´rica ca o Design Patterns Conclus˜es Finais o Aplica¸˜o Pr´tica ca a Conclus˜oa Referˆncias e Conte´do u 1 Introdu¸˜o ca Introdu¸˜o aos Padr˜es de Projeto ca o Contexto Advento 2 Funcamenta¸˜o Te´rica ca o Orienta¸˜o a Objetos ca Reusabilidade de Software 3 Design Patterns Introdu¸˜o ca Conceito Motiva¸˜o ca 4 Aplica¸˜o Pr´tica ca a Patterns 5 Conclus˜o a Conclus˜es Finais o 23 / 27
    • Introdu¸˜o ca Funcamenta¸˜o Te´rica ca o Design Patterns Conclus˜es Finais o Aplica¸˜o Pr´tica ca a Conclus˜oa Referˆncias e Singleton Design Patterns s˜o metodologias de constru¸˜o de software a ca comprovadamente funcionais que garantem legibilidade, manutenabilidade e reutiliza¸˜o de c´digo-fonte no ca o desenvolvimento de alguma aplica¸˜o computacional ca (Daniel Welfer, 2005). 24 / 27
    • Introdu¸˜o ca Funcamenta¸˜o Te´rica ca o Design Patterns Aplica¸˜o Pr´tica ca a Conclus˜oa Referˆncias e Referˆncias I e Agostini, M. N., Decker, I. C. & e Silva, A. S. (2007), ‘A new approach for the design of electric power system software using object oriented modeling.’, International Journal of Electrical Power & Energy Systems 29, 505–513. Coad, P., North, D. & Mayfield, M. (1995), Object models: strategies, patterns, applications, Yourdon Press, Upper Saddle River, NJ, USA. Daniel Welfer, M. C. d. (2005), ‘Coopera¸˜o entre padr˜es de ca o projeto na resolu¸˜o de problemas de processamento de imagens ca baseados em filtros de convolu¸˜o’. ca 25 / 27
    • Introdu¸˜o ca Funcamenta¸˜o Te´rica ca o Design Patterns Aplica¸˜o Pr´tica ca a Conclus˜oa Referˆncias e Referˆncias II e Gamma, E., Helm, R., Johnson, R. & Vlissides, J. (1995), Design Patterns Elements of Reusable Object-Oriented Software, Addison-Wesley. Gerber, L. D. (1999), Uma linguagem de padr˜es para o o desenvolvimento de sistemas de apoio ` decis˜o baseado em a a frameworks, Master’s thesis, Pontif´ Universidade Cat´lica do ıcia o Rio Grande do Sul. Lange, D. B. & Nakamura, Y. (1995), ‘Interactive visualization of design patterns can help in framework understanding’, Sigplan Notices pp. 342–357. Meyer, B. (1997), Object-Oriented Software Construction, Prentice Hall. 26 / 27
    • Introdu¸˜o ca Funcamenta¸˜o Te´rica ca o Design Patterns Aplica¸˜o Pr´tica ca a Conclus˜oa Referˆncias e Referˆncias III e Oglio, P. D. (2007), PHP - Programando com Orienta¸˜o a ca Objetos, Novatec. Pree, W. (1995), Technology of object-oriented languages and systems, in ‘TOOLS’. Schneide, R. L. (1999), ‘Design patterns’. URL http://dcc.ufrj.br/~schneide/PSI_981/gp_6/design_patterns ´ Ultimo acesso em 02/06/2009. 27 / 27