it-swarm-es.com

¿Cuál es el patrón de diseño más utilizado?

¿Qué patrón de diseño crees que es el más popular?

24
Tamara Wijsman

Estoy bastante seguro de que lo más común es 'La gran bola de barro'. Lamentablemente para todos nosotros.
http://en.wikipedia.org/wiki/Big_ball_of_mud

39
Jay

MVC y sus variaciones es definitivamente uno de los patrones de diseño más importantes.

25
ysolik

Si está hablando de patrones de diseño de Gang-of-Four , tendría que decir Singleton. Este es un estado de cosas realmente triste, casi como si los programadores escucharan sobre la magia de los patrones de diseño y luego simplemente se detuvieran después del primero.

Si está hablando de patrones de estilo arquitectónico (en otras palabras, patrones de diseño que abarcan múltiples clases o capas), tendría que decir MVC . Algunos otros populares son el patrón repositorio y localizador de servicio.

21
Jaco Pretorius

Observador

Si alguna vez has usado un evento. Has usado Observer.

16
Steven Evers

Decorador

Agregue funcionalidad a un objeto en tiempo de ejecución a través de la composición. Mi favorito personal.

Editar: También Fábrica es probablemente uno de los más comunes.

7
JD Isaacks

¿Por qué nadie ha mencionado el iterador todavía? Especialmente con todos los mapas que componen estructuras de datos complejas ... es la que más uso. ¿O estamos hablando de patrones que volvemos a implementar?

5
ToTheBeach

Patrón de estrategia

Si alguna vez ha usado la inyección de dependencia, ha usado el patrón de estrategia.

5
richeym

Fachada

Piense en cualquier interfaz REST como Twitter o las API SO. Está ocultando un montón de cosas de back-end que, al menos en el caso de los twitters, pueden ser terriblemente complejas .

¿Me importa en qué tweets de db tables @ apklusk están almacenados? ¿Y que tiene un caché rápido? ¿Y que @shemnon tiene tan pocos lectores que los tweets siempre están fuera de memoria? Esa es la magia de la fachada.

5
shemnon

Me sorprende que nadie haya mencionado el patrón Factory, en mi experiencia, es uno de los patrones más utilizados (y también más abusados). Si no es el primero, probablemente el singleton debería ser el primero, habría pensado que sería un segundo cercano.

3
AlexC

Junto con mi respuesta anterior, voy a agregar una nueva que encontré hoy de mi bestia de un proyecto heredado:

Copiar/Pegar

Mientras depuraba me encontré con un código que llamaba a 2 funciones con nombres similares:

if(x)
   Func1
else
   Func2

Func1 y Func2 tenían los mismos parámetros. Los saqué y difundí, y son 100% iguales, excepto para las llamadas Func1 Func3 y Func2 llamadas Func4. Los saqué y los distinguí. 100% igual, excepto por 1 línea. Por lo tanto, un programador anterior decidió copiar y pegar dos funciones anidadas de 50 líneas, en lugar de agregar un parámetro de marca, a 2 funciones privadas utilizadas en exactamente 1 lugar. Eso me hace querer llorar.

3
Jay

Hablando de patrones de diseño Gang-of-Four, no puedo pensar en un programa que no use el patrón Observer. Además, como mencionó Jaco, Singleton también se usa mucho, desafortunadamente se ha convertido en un martillo (cualquier programador lo usa incluso si no es completamente necesario).

2
Cristian

Intérprete

Raramente implementado, de uso frecuente. Selectores XPATH, XSLT, Regex, jQuery, etc.

2
Jesse Millikan

Especificación

No creo que esté listado en el GoF, pero uso variaciones de él todo el tiempo.

1
John Kraft

Me sorprende que nadie haya dicho "Constructor" todavía. O "Adaptador". Probablemente no sean tan exóticos como algunos de los otros mencionados, pero los uso todo el tiempo. Factory y Abstract Factory también son muy comunes (pero ya están tomadas).

1
Tim Claason

El patrón de diseño más utilizado es, obviamente, Spaghetti .

1
SK-logic

A nivel de diseño de software, diría que Compuesto, Estrategia y Plantilla (y, en menor medida, Fábrica) son los más utilizados. Durante la última década más o menos, hemos visto una preferencia por la composición sobre la herencia al construir nuestros sistemas usando un diseño OO. Como resultado, la combinación de los patrones recién mencionados juega un papel mucho más importante que todos los demás IMO.

Arquitectónicamente, abogaría por MVC en la empresa, y patrones basados ​​en máquinas de estado en el lado incrustado de las cosas.

0
luis.espinal