La no site www.slideshare.net, ja tem ate a 6a. parte.Apostila PhP com Wamp, 4a ParteView more documents from jittobr. Apostilaphp SegundaparteView more PDF documents from jittobr. Ao se deparar com um problema no desenvolvimento de um sistema, qual a melhor e mais sustentavel maneira para se encontrar uma solucao? Buscar na literatura ou colocar os miolos para funcionar e desenvolver sua propria solucao?Olha so o que diz Leonardo Kenji:Criatividade e Design Patterns September 15, 2008 1:16 pmNinguem pode negar que os Design Patterns, ou padroes de projeto ou padroes de desenho, formalizados no famoso livro do GoF (gang of four - a turma dos quatro, ou Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides) foi uma mudanca muito significativa em toda a industria de software. A proposta era simples: uma vez estudadas diversas praticas de programacao de bons programadores, eram identificadas algumas tecnicas de design inteligentes que sempre apareciam mais ou menos de forma parecida para resolver problemas parecidos. Cada padrao era estudado e, voila, junte varios destes e classifique-os e voce tem um manual de boas maneiras para o desenvolvimento de software. O beneficio imediato, obvio, e que ao se deparar com um problema de design, o desenvolvedor nao precisa pensar numa solucao do zero. Basta ir no compendio de design patterns e procurar qual design resolve que tipo de problema. Outro beneficio indireto, mas igualmente importante, e trazer uma serie de nomes para determinadas estruturas mentais, que facilitam a comunicacao entre desenvolvedores. Ninguem precisa ficar explicando o que e um singleton se todo mundo ja sabe o que e. Ganha-se tempo e leva-se a discussao um nivel acima. E dai voce pode ter ferramentas que automatizam a geracao destes codigos, discussoes acerca das vantagens e desvantagens de cada pattern, e etc.Hoje em dia, existem patterns para praticamente todas as areas especificas do desenvolvimento de software. E uma forma de reuso do conhecimento. Mas como tudo na vida, nem tudo e perfeito. Alguns anos atras, eu estava conversando com um economista e falando dessa coisa de design patterns, e o cara mostrou uma cara de espanto, e falou: que engracado... em algumas situacoes na economia, pedimos para o aluno nunca procurar as solucoes prontas, mas sempre tentar encontrar a solucao por ele mesmo primeiro, para so depois recorrer a literatura... assim incentivamos a criatividade dos alunos e forcamos eles a pensarem... Pode parecer improdutivo, e de fato, na engenharia de software, e uma bela vantagem ter na manga uma serie de solucoes prontas que funcionam comprovadamente e nao perder tempo reinventando a roda.Mas do ponto de vista criativo, assumir que os design patterns estao sempre certos, ou que sao sempre a solucao, tambem e uma faca de dois legumes. A postura do inovador deve ser sempre questionadora.Haveria maneira melhor de resolver este problema? Este design pattern e realmente o mais adequado para a minha demanda? Quais sao os fatores que poderiam levar este design a uma possivel desvantagem? Quais tipos de problema poderiam advir do uso desta solucao? Se seu negocio e prazo, ficar pensando demais e perder tempo. Mas se