Como estudar padrões de design? [fechado]
23 answers
Um grande recurso é a Página Data & Object Factory. Eles analisam os padrões e dão exemplos conceituais e do mundo real. O material de referência deles também é óptimo.
- aprender Desenvolvimento Orientado por testes (TDD)
- Aprenda a refactorar
- aprender padrões
Os padrões de Design são mais bem reconhecidos como um problema de alto nível; um que só é relevante se você tiver a experiência necessária para reconhecê-los como úteis. É bom que você reconheça que eles são úteis, mas a menos que você tenha visto situações onde eles se aplicariam, ou se aplicaram, é quase é impossível compreender o seu verdadeiro valor.
, Onde eles se tornam útil é quando você reconhecer padrões de projeto em outros' código, ou reconhecer um problema na fase de projeto que se encaixa bem com um padrão; e, em seguida, examinar o padrão formal, e examinar o problema, e determinar que a delta está entre eles, e o que isso diz sobre o padrão e o problema.
É realmente o mesmo que codificar; K&R pode ser a "Bíblia" para C, mas lê-la capa-a-capa várias vezes apenas não dá uma única experiência prática; não há substituto para a experiência.
Faça a si mesmo estas perguntas:
O que é que eles fazem? O que é que eles dissociam?Quando deve usá-las?
Quando não os deve usar?
Que falta de linguagem faria com que desaparecessem? Em que dívida técnica incorre ao usá-la? Há uma maneira mais simples de fazer o trabalho?Foram dados muitos bons exemplos. Eu gostaria de adicionar um:
Aplicá-los mal. Você não precisa fazer isso intencionalmente, isso vai acontecer quando você tentar aplicá-los em seu Design-padrão-ajuste inicial. Durante esse tempo, todos os problemas que você vai ver parecerão encaixar exatamente um padrão de design. Muitas vezes, todos os problemas parecem se encaixar no mesmo padrão de design por alguma razão (Singelton é um candidato primário para isso).
E vais aplicar o padrão e vai ser bom. E alguns meses depois você vai precisar mudar algo no código e ver que usar esse padrão em particular não era tão inteligente, porque você se codificou em um canto e você precisa refazer novamente. É verdade que isso não é uma resposta de fazer isso e aprender em 21 dias, mas, pela minha experiência, é a mais provável que te dê uma boa visão do assunto.Padrões de Projecto: elementos de Software Reutilizável orientado para objectos
Para livros, eu recomendaria Padrões de Design explicados, e Padrões de primeiro Design Head. Para realmente aprender esses padrões, você deve olhar para o seu código existente. Procure por que padrões você já está usando. Olha para os cheiros do código e que padrões podem resolvê-los.
Este livro é muito diferente de outros livros de padrão de design porque não é tanto um catálogo de padrões, mas apresenta principalmente uma maneira de decompor um espaço problema que mapeia facilmente para padrões.
Os problemas podem ser decompostos em duas partes: coisas que são comuns e coisas que variam. Uma vez que isto é feito, mapeamos as coisas comuns para uma interface, e as coisas que variam para uma implementação. Em essence, many patterns fall into this "pattern". Por exemplo, no padrão estratégico, as coisas comuns são expressas como o contexto da estratégia, e as partes variáveis são expressas como as estratégias concretas. Achei este livro altamente estimulante em contraste com outros livros padrão que, para mim, têm o mesmo grau de excitação que ler uma lista telefónica.O mais recente de nettuts .
É um bom recurso para principiantes.Liderei alguns grupos de discussão sobre padrões de design (o nosso site ) e li 5 ou 6 livros padrões. Eu recomendo começar com o primeiro livro de padrões de Design da cabeça e atender ou iniciar um grupo de discussão. O primeiro livro da cabeça pode parecer um pouco Hasboro no início, mas a maioria das pessoas gostam depois de ler um capítulo ou dois.
Use o recurso pendente - Joshua Kereivisky é um guia de aprendizagem para desenhar padrões para a ordenação de padrões e para ajudar o seu Coloquio. Por experiência própria, a única mudança que sugiro à ordem é colocar a estratégia em primeiro lugar. A maioria dos desenvolvedores de hoje experimentaram uma boa ou má encarnação de uma fábrica, então começar com a fábrica pode levar a muita conversa e confusão sobre o padrão.Isto tende a tirar o foco de como estudar e aprender padrões que é bastante essencial nessa primeira reunião.
Quanto ao meu favorito, gosto dos primeiros padrões de Design da cabeça publicados por O'Reilly. Está escrito numa voz de conversa que me agrada. Quando o li, revi o meu código fonte ao mesmo tempo para ver se se aplicava ao que estava a ler. Se o fez, eu refactorei. Foi assim que aprendi a cadeia de responsabilidades.
[1] Prática-Prática-Prática.Padrões de Design são apenas ferramentas -- tipo funções de biblioteca. Se você sabe que eles estão lá e sua função aproximada, você pode ir desenterrá-los de um livro quando necessário.
Não há nada de mágico nos padrões de design, e qualquer bom programador imaginou 90% deles para si mesmo antes de qualquer livro sair. Para a maior parte eu considero os livros para ser mais útil em simplesmente definir nomes para os vários padrões para que possamos discuti-los mais facilmente.Acerca dos recursos que pode verificar estes
- www.dofactory.com
- padrões de Design: elementos de Software Orientado a objectos reutilizáveis (Addison-Wesley Professional Computing Series) por Erich Gamma, Richard Helm, Ralph Johnson, e John M. Vlissides Padrões da Arquitectura de aplicações empresariais por Martin Fowler
1 é um arranque rápido, 2 será um estudo aprofundado..3 irá explicar ou deve fazer você pensar o que você aprendeu em 2 fits no software da empresa.
Os meus 2 cêntimos...Por exemplo:
Método De Fábrica:
Leia o mundo: Eu apenas dou 5, 10 ou 20 dólares em dinheiro e ele produzirá pizza de volta sem saber nada sobre como ela produz, eu só recebo uma pequena, média ou grande pizza depende da entrada de dinheiro para que eu possa comer ou fazer o que quer que seja.Programação: o cliente passa o valor do parâmetro $5, $10 ou $20 para o método da fábrica e devolverá o objecto da Pizza de volta. Para que o cliente possa usar esse objecto sem saber como processar.
Não sei se isto te pode ajudar. Depende do nível de conhecimento das pessoas se juntarem à reunião.A partir dessa lista você pode derivar os cenários que os padrões de Design pretendem resolver. Houve um tempo em que você precisava realizar a mesma série de ações em diferentes conjuntos de dados? Será que você precisa ser capaz de capacidade futura para uma aplicação, mas quer evitar a reformulação de toda a sua lógica para as classes existentes? Comece com esses cenários e retorne ao catálogo de padrões e seus respectivos problemas que devem resolver. É provável que você veja alguns jogos entre o GoF e sua biblioteca de projetos.
Para um principiante, os primeiros padrões de Design Da Cabeça bastariam, uma vez que estamos familiarizados com todos os padrões, e depois tentar visualizar os objectos em tempo real nesses padrões.
O livro irá ajudá-lo a compreender os conceitos básicos, a menos que até ter implementado no mundo real não possa ser um mestre dos padrões de DESIGN