Na semana passada ministrei o minicurso "Introdução a Design Patterns" na Globalcode e como alguns alunos me pediram referências, resolvi escrever em forma de post. Assim posso compartilhar com mais pessoas interessadas nesse assunto que volta e meia temos que lidar no trabalho.
Quem perdeu o minicurso e quer saber um pouco mais antes de seguir neste post pode ler:
- Blog: Design Patterns - Será que preciso aprender?
- Entrevista: o que são, pra que servem e como usar Design Patterns.
- Apresentação utilizada minicurs gratuito - Introdução a Design Patterns
Aplicabilidade dos Design Patterns
De maneira geral, os Design Patterns não estão relacionados diretamente a uma tecnologia, mas a problemas de orientação a objetos. Porém, o que percebemos ao longo do tempo é que as tecnologias (como o caso da plataforma Java e alguns frameworks) passam a incorporar os padrões de uso geral em suas estruturas internas e a oferecer seus próprios design patterns aos desenvolvedores.
Quando isso acontece, nos deparamos com a dúvida em usar ou não determinados padrões no momento em que a tecnologia muda, além de percebermos que alguns padrões de uso geral não fazem mais sentido. Como não há regras para nortear a decisão sobre o uso de padrões, a dica é sempre usar o bom senso e lembrar que os padrões servem para organizar e flexibilidar a arquitetura e, assim, minimizar as dificuldades de manutenção no futuro.
Mas independente da tecnologia, ainda há vários Design Patterns definidos na família Gof que podem perfeitamente ser aplicados em nosso dia a dia na modelagem orientada a objetos.
Nesse sentido, gostaria de sugerir o material do minicurso MC103 - Design Patterns: Padrões para toda a vida. Ele foi produzido por mim e pelo instrutor Kleber Xavier para uma palestra no JustJava em 2009 e aborda padrões de orientação a objetos que estão ligadas às necessidades do projeto em si, e não à arquitetura da aplicação que pode mudar dependendo da tecnologia.
Dicas de leitura
Quem tiver interesse em conhecer um pouco mais sobre Design Patterns, segue uma lista de referências tradicionais:
Espero que este post ajude no seu estudo sobre Design Patterns e que vocês continuem participando dos próximos minicursos:
Abraços,
Elaine Silva
Instrutora
http://www.globalcode.com.br/instrutores/ElaineSilva
http://twitter.com/elaineqsilva
Quem perdeu o minicurso e quer saber um pouco mais antes de seguir neste post pode ler:
- Blog: Design Patterns - Será que preciso aprender?
- Entrevista: o que são, pra que servem e como usar Design Patterns.
- Apresentação utilizada minicurs gratuito - Introdução a Design Patterns
Aplicabilidade dos Design Patterns
De maneira geral, os Design Patterns não estão relacionados diretamente a uma tecnologia, mas a problemas de orientação a objetos. Porém, o que percebemos ao longo do tempo é que as tecnologias (como o caso da plataforma Java e alguns frameworks) passam a incorporar os padrões de uso geral em suas estruturas internas e a oferecer seus próprios design patterns aos desenvolvedores.
Quando isso acontece, nos deparamos com a dúvida em usar ou não determinados padrões no momento em que a tecnologia muda, além de percebermos que alguns padrões de uso geral não fazem mais sentido. Como não há regras para nortear a decisão sobre o uso de padrões, a dica é sempre usar o bom senso e lembrar que os padrões servem para organizar e flexibilidar a arquitetura e, assim, minimizar as dificuldades de manutenção no futuro.
Mas independente da tecnologia, ainda há vários Design Patterns definidos na família Gof que podem perfeitamente ser aplicados em nosso dia a dia na modelagem orientada a objetos.
Nesse sentido, gostaria de sugerir o material do minicurso MC103 - Design Patterns: Padrões para toda a vida. Ele foi produzido por mim e pelo instrutor Kleber Xavier para uma palestra no JustJava em 2009 e aborda padrões de orientação a objetos que estão ligadas às necessidades do projeto em si, e não à arquitetura da aplicação que pode mudar dependendo da tecnologia.
Dicas de leitura
Quem tiver interesse em conhecer um pouco mais sobre Design Patterns, segue uma lista de referências tradicionais:
- Eric Freeman, Elisabeth Robson, Bert Bates and Kathy Sierra. Head First Design Patterns. Ed. O'Reilly Media. (Bom tutorial sobre padrões com exemplos em Java, mas não aborda todos os padrões Gof - tem em português com o nome Use a Cabeça ! Padrões de Projetos).
- (Gof) Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Design. Ed. Addison-Wesley. (Referência oficial com 23 padrões de uso geral).
- Alan Shalloway; James R. Trott. Design Patterns Explained, Second Edition: A New Perspective on Object-Oriented Design. Ed. Addison-Wesley. (Não aborda todos os padrões Gof mas usa exemplos mais reais de aplicação).
- Bruce Eckel. Thinking in Patterns with Java. Ed. MindView, Inc. (Livro eletrônico gratuito. Fizemos um workshop na Globalcode com o autor há um tempo atrás, foi muito legal. Veja fotos! )
- Martin Fowler. Analysis Patterns: Reusable Object Models. Ed. Addison-Wesley. (Autor mantém atualizações no seu site pessoal)
- Martin Fowlser. Patterns of Enterprise Application Architecture. Ed. Addison-Westley.
Espero que este post ajude no seu estudo sobre Design Patterns e que vocês continuem participando dos próximos minicursos:
- Terça-feira dia 05/04 - Introdução à plataforma Java
- Quinta-feira dia 07/04 - Java e Banco de dados: JDBC, Hibernate e JPA
Abraços,
Elaine Silva
Instrutora
http://www.globalcode.com.br/instrutores/ElaineSilva
http://twitter.com/elaineqsilva
Comentários