Skip to content

jbeltranleon/notas_patrones_de_dise-o

Repository files navigation

¿Que son los patrones de diseño?


Facilitar la estructura y mantenimiento de los sistemas a construir


  • Documentarnos en todo lo Referente al Problema (Enfocados en la solución)

  • Descomponer el problema en piezas (modulos, paquetes)

  • Determinar responsabilidades de los modulos

  • Construir Software con interfaz clara de comunicacion entre modulos

¿Que es un patrón?

[1977, Libro(A Pattern Language) Arquitectura] -> "Cada patron describe un problema que ocurre una y otra vez en nuestro medio ambiente y, a continuación describe el núcleo de la solución a ese problema, de tal manera que se puede utilizar esa solución un millón de veces, sin tener que hacerlo de la misma manera dos veces" (ejemplo de puertas y ventanas)

  • Describe una solución reutilizable a un problema común en un contexto dado.

  • Se enfoca en la solución y no en el problema

  • Identifica responsabilidades e interacciones entre los participantes

"Un patron es principalmente una forma de masticar consejos sobre un tema" - Martin Fowler

¡El patrón es la Solución!

¿Que no es un patrón de diseño?

  • No es un paradigma de programación

  • No es un silver bullet (bala de plata -> usar cualquier patron para cualquier solución)

  • No es una solución inefectiva y riesgosa

  • No resuelve un problema especifico

  • No depende del lenguaje de implementación

¿Para que sirven los Patrones de diseño?

  • Entendimiento comun del diseño del software (vocabulario [MVC, Controller ... ]

  • Alternativas de diseño flexibles y reutilizables

  • Construir arquitecturas de software complejas (Escalables)

  • Mejor mantenimiento de la solución de software

  • Favorece la vida

  • Incrementa tu experiencia profesional