2009-12-26 14 views
9

Estaba repasando las preguntas sobre los patrones de diseño en Stackoverflow y todos mencionaron el libro GoF- Design Pattern y el libro Head First Design Patterns para aprenderlos.¿Cómo podemos aprender dónde y cuándo aplicar patrones de diseño particulares?

Mis preguntas son cómo podemos aprender where y when podemos aplicar particular Design Pattern.

¿Hay libros o recursos en línea que imparte este conocimiento o qué pasos hay que seguir para hacer nuestra decisión de where y when debemos utilizar en particular Design Patterns?

+1

Algunas de las respuestas realmente buenas, gracias SO Equipo !!! Esperando respuestas más interesantes. – Rachel

Respuesta

5

Refactorizar a patrones, en lugar de codificar a patrones, es el consejo general.

4

La experiencia es la mejor guía que tendrá para esto. Pero en general:

  • No aplique un patrón de diseño solo por el hecho de aplicarlo; asegúrese de que el problema realmente es lo que usted cree que es, y que lo comprende a un nivel de profundidad necesario para aplicar un patrón de diseño.

  • Código para resolver el problema, no para aplicar un patrón de diseño.

Aunque son útiles en el largo plazo, a menudo puede ser muy peligroso para los principiantes a leer libros como estos, ya que van desde una caja de herramientas vacía ahora que tiene una sola, enorme martillo - y cuando todo lo que tienes es un martillo, todo parece un clavo.

1

He encontrado FluffyCat.com para ser una fuente muy útil de ejemplos de patrones de diseño. Proporciona ejemplos de implementación Java y PHP de todos los patrones GoF, así como una descripción de cómo se supone que debe funcionar cada patrón.

0

Refactoring: Improving the design of existing code por Martin Fowler es un libro muy bueno. Muestra el código convencional existente y luego muestra por qué y cómo refactorizarlo. Muchos ejemplos de cómo identificar el código que se debe refactorizar y cómo tomar pequeños pasos incrementales para hacerlo.

1

Es como saber pescar con las herramientas adecuadas la primera vez ... bastante difícil si nunca antes lo había experimentado. Con un poco de tiempo y conferencias, vendrá solo.

Si comete un error al implementar un patrón de diseño no adecuado para el trabajo, tendrá dificultades para hacerlo. Pero usted aprenderá 2 de ellos (el que debería haber tomó, y el que usted tomado);)

Mike

0

En mi experiencia, tener una buena comprensión de los patrones de diseño serán suficientes para encienda una luz en su cabeza cada vez que se enfrente a un problema en particular al cual un patrón de diseño podría ser aplicable.Y como dijo John, con experiencia aprenderás a aplicar la correcta.

Muchas veces hay más de un patrón que funcionará bien. Pero no debería tener que trabajar demasiado para que un patrón se ajuste a una solución en particular. Debería ser un poco "obvio" después de un tiempo.

También hay momentos en los que puede combinar patrones o adaptarlos ligeramente a un problema en particular. Y no es raro ver un nuevo patrón y pensar "bueno, he estado haciendo eso todo el tiempo". Los patrones de diseño no fueron inventados per se, fueron identificados y nombrados. Eso no quiere decir que sean una receta estricta para construir software.

0

Recomendaría sourcemaking.com. Proporciona una discusión general sobre cómo y cuándo usar los patrones de diseño de GoF. Y cómo puedes combinarlos para obtener el mejor resultado.

También el libro de Joshua Kerievsky Refactoring to patterns podría ser un recurso valioso.

Cuestiones relacionadas