Pregunta

¿De dónde vino la idea de los patrones de diseño, quién decidió qué es y no es un patrón y les dio sus nombres? ¿Existe alguna organización oficial que los defina, o existen a través de algún consenso de la comunidad?

¿Fue útil?

Solución

Creo que hay un "ciclo de vida básico de un patrón de diseño"

  1. El autor escribe sobre el patrón de diseño en un libro.
  2. El libro se vuelve bien leído, posiblemente el mejor vendedor
  3. El patrón de diseño entra en la conciencia pública, gana la capacidad de compartir.
  4. El patrón de diseño se usa. Funciona bien. patrón de diseño obtiene más mindshare
  5. El patrón de diseño se convierte en panacea, se usa en exceso.
  6. Otro autor escribe " Design Pattern Considered Harmful "
  7. El patrón de diseño se convierte en Anti Pattern
  8. Autor diferente se vuelve famoso, escribe un libro lleno de nuevos patrones de diseño ...

Otros consejos

La mayoría de las personas apuntaría a la " Gang of Four " (Erich Gamma , Richard Helm, Ralph Johnson y John Vlissides, quienes escribieron el libro Patrones de diseño: elementos de software reutilizable orientado a objetos . No hay una lista definitiva real, ya que los patrones de diseño útiles se descubren todo el tiempo.

Wikipedia tiene una buena lista. http://en.wikipedia.org/wiki/Design_pattern_(computer_science)

La mayoría son por consenso de la comunidad (esa comunidad es de personas que han leído patrones de diseño o código completo: /)

Respuesta corta: No.

Respuesta larga: ya que si alguien diseña algo y tiende a ser reutilizado por otros, un nuevo " patrón de diseño " será recién creado (o descubierto ??)

En realidad, la cantidad de patrones de diseño en las aplicaciones existentes puede ser enorme, pero ninguno los ha clasificado aún.

Yo agregaría los enlaces anteriores a estos dos:

http://martinfowler.com/eaaCatalog/

http://c2.com/ppr/

No hay una lista definitiva. Los patrones se descubren, no se inventan, por lo que no hay ninguna organización que pueda decir "este es un patrón". y " esto no es un patrón " ;. Incluso si hubiera uno, no sería útil para nadie.

A pesar de eso, el " famoso " los patrones son los que se describen en Patrones de diseño o el libro de GOF.

También puede ser útil reconocer anti-patrones .

Esta es una buena lista de patrones (del libro Patrones de arquitectura de aplicaciones empresariales ):

http://martinfowler.com/eaaCatalog/

La idea de patrones de diseño fue acuñada por Christopher Alexander, mientras escribía sobre patrones arquitectónicos dentro de edificios y ciudades. De manera similar, los patrones han surgido a medida que los ingenieros han adquirido más experiencia con metodologías de diseño orientadas a objetos.

No hay un consorcio oficial que defina qué es un patrón y qué no es un patrón. Sin embargo, los patrones generalmente tienen un ciclo de vida largo antes de que sean generalmente aceptados. La comunidad de desarrollo está comenzando a participar en cosas como PLOP (Lenguajes de patrones de programas) y su conferencia anual: Conferencia 2008 , que céntrese en autores de patrones y entusiastas para discutir el tema de los patrones y el desarrollo de nuevos patrones.

No hay una lista definitiva, ya que sería probable que hubiera una autoridad para declarar si un patrón es un patrón o simplemente una ... otra cosa.

Algunos patrones solo tienen sentido en un subconjunto de idiomas: el canónico GOF book se concentra en Java (o es C ++? El libro está en mi escritorio en la oficina) y algunos de los patrones descritos no son muy relevantes, por ejemplo, en Ruby o VB6. Y viceversa, por supuesto.

Yo diría que la Unión de la lista en el libro Gang of Four y Fowler's Patterns of Enterprise Arhitecture te dará el 99% de lo que necesitas saber.

Hay un libro canónico: Gamma, Helm, Johnson, Vlissides: " Patrones de diseño - Elementos de software reutilizable orientado a objetos " que lo empezó todo. Contiene 23 patrones.

No puede haber una lista definitiva. Siempre.

Si ve algunas soluciones a un problema que, para usted, tiene un patrón articulado, ha descubierto un patrón de diseño. Siempre puedes seguir haciendo esto.

Toda solución nueva e inteligente podría ser la génesis de una solución similar que comparte un patrón común. Los patrones son algo que usted usa para resumir y capturar una solución genial a un problema.

El cerebro humano puede encontrar patrones en casi cualquier cosa . Es una cosa que hacemos sin pensarlo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top