Padrões de Design
o conceito de padrões de design tem sido criticado por alguns no campo da ciência da computação.
visa o problema errado
a necessidade de padrões resulta do uso de linguagens de computador ou técnicas com capacidade de abstração insuficiente. Sob factoring ideal, um conceito não deve ser copiado, mas meramente referenciado. Mas se algo é referenciado em vez de copiado, então não há nenhum “padrão” para rotular e catalogar. Paul Graham escreve no ensaio “Revenge of the Nerds”.
Peter Norvig fornece um argumento similar., Ele demonstra que 16 dos 23 padrões do Livro de padrões de Design (que é focado principalmente em C++) são simplificados ou eliminados (através de suporte direto à linguagem) em Lisp ou Dylan.
falta fundamentos formais
o estudo dos padrões de design tem sido excessivamente ad hoc, e alguns têm argumentado que o conceito precisa ser colocado em uma base mais formal. Em OOPSLA 1999, a quadrilha de quatro foram (com sua total cooperação) submetidos a um julgamento, no qual eles foram “acusados” de inúmeros crimes contra a Ciência da computação., Eles foram “condenados “por ⅔ dos” jurados ” que participaram do julgamento.
leva a soluções ineficientes
a ideia de um padrão de design é uma tentativa de padronizar o que já são aceitas melhores práticas. Em princípio, isto pode parecer benéfico, mas na prática resulta frequentemente na duplicação desnecessária de códigos. É quase sempre uma solução mais eficiente para usar uma implementação bem-realizada, em vez de um padrão de design “apenas pouco bom o suficiente”.,
não difere significativamente de outras abstrações
Alguns autores alegam que os padrões de projeto não diferem significativamente de outras formas de abstração, e que o uso de uma nova terminologia (emprestado da arquitectura da comunidade) para descrever fenômenos existentes no campo da programação é desnecessário. O paradigma Model-View-Controller é apontado como um exemplo de um “padrão” que antecede o conceito de “padrões de design” por vários anos., É ainda argumentado por alguns que a principal contribuição da comunidade de padrões de Design (e da quadrilha de quatro livros) foi o uso da linguagem padrão de Alexander como uma forma de documentação; uma prática que é muitas vezes ignorada na literatura.