Pergunta

Como surgiu a ideia de padrões de projeto veio, quem decidiu o que é e não é um padrão e deu-lhes os seus nomes? Existe uma organização oficial que define-los, ou eles existem por algum consenso da comunidade?

Foi útil?

Solução

Eu acho que há um "ciclo de vida de um padrão de design" básico

  1. Autor escreve sobre padrão de design em um livro.
  2. livro torna-se bem lido, possivelmente, o melhor vendedor
  3. Design teste padrão entra pública consciente, ganhos Mindshare.
  4. Design teste padrão é usado. Isso funciona bem. padrão de design fica mais mindshare
  5. Design teste padrão torna-se panacéia, fica mais utilizado.
  6. Different Autor escreve "Design Pattern considerada prejudicial"
  7. Design teste padrão torna-se Anti Pattern
  8. Different Autor torna-se famoso, escreve livro cheio de novos padrões de design ...

Outras dicas

A maioria das pessoas iria apontar para o "Gang of Four" (Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides) que escreveu o livro design Patterns: Elements of Software reutilizável Orientado a objetos . Não existe uma lista definitiva real como padrões de projeto úteis são certamente sendo descobertos o tempo todo.

Wikipedia tem uma lista boa. http://en.wikipedia.org/wiki/Design_pattern_(computer_science)

A maioria são por consenso da comunidade (que comunidade estar das pessoas que leram os padrões de design ou de código completo: /)

resposta curta: Não.

resposta

Long: Desde quando alguém desenha alguma coisa, e ele tende a ser reutilizados por outros um novo "padrão de design" será acabou de criar (ou descobriram ??)

Na verdade, o número de padrões de projeto em aplicações existentes podem ser enormes, mas nenhum classificou-los ainda.

Gostaria de acrescentar as as ligações anteriores estes dois:

http://martinfowler.com/eaaCatalog/

http://c2.com/ppr/

Não há nenhuma lista definitiva. Padrões são descobertos, não inventados, então não há nenhuma organização que possa dizer "este é um padrão" e "isso não é um padrão". Mesmo se houvesse um, não seria útil para ninguém.

Apesar disso, os "famosos" padrões são os descritos em Design Patterns, ou o livro GOF.

Também pode ser útil para reconhecer anti-padrões .

Esta é uma boa lista de padrões (a partir do Patterns of Enterprise Application Architecture livro):

http://martinfowler.com/eaaCatalog/

A idéia de Design Patterns foi cunhado por Christopher Alexander, ao escrever sobre padrões de arquitetura dentro de edifícios e cidades. Da mesma forma, os padrões surgiram como engenheiros ganharam mais experiência com metodologias de projeto orientado a objetos.

Não há um consórcio oficial que define o que é um padrão e que não é um padrão. No entanto, os padrões normalmente têm um longo ciclo de vida antes que eles são geralmente aceitos. A comunidade de desenvolvimento está começando a participar de coisas como PLOP (linguagens de padrões de programas) e sua conferência anual: 2008 Conference, que foco em autores padrão e entusiastas para discutir o assunto de padrões e desenvolvimento de novos padrões.

Não existe uma lista definitiva -. Para que haja um seria provavelmente exigir alguma autoridade para declarar se um padrão é um padrão ou apenas uma ... outra coisa

Alguns padrões fazem sentido apenas em um subconjunto de idiomas - o canônica GOF reservar concentrados em Java (ou é C ++? o livro está na minha mesa no escritório) e alguns dos padrões descritos não estão em muito relevante, por exemplo, ruby ??ou VB6. E vice-versa, claro.

Eu diria que a União da lista no livro Gang of Four e Padrões de Empresa Arhitecture de Fowler vai lhe dar 99% do que você poderia precisar de saber.

Há um livro canônico: Gamma, Helm, Johnson, Vlissides: "Design Patterns - Elements of Reusable Software Orientada a Objetos", que começou tudo. Ele contém 23 padrões.

Não pode haver uma lista definitiva. Ever.

Se você vê algumas soluções para um problema que - você - tem um padrão que pode ser articulado, você descobriu um padrão de design. Você pode sempre continuar fazendo isso.

Cada inteligente, nova solução poderia ser a gênese de uma solução semelhante que compartilha um padrão comum. Padrões são algo você uso para resumir e capturar uma solução legal para um problema.

O cérebro humano pode encontrar padrões em quase qualquer . É uma coisa que fazemos sem pensar nisso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top