Icono del sitio Home Assistant Fácil

Los patrones de diseño

patrones-design

Hace unos días, mi compañero Luis del Valle y yo estuvimos hablando en un podcast sobre el patrón de diseño modelo vista controlador. Pero lo que os preguntareis es, ¿Que es un patrón? ¿Cuantos patrones hay? y ¿Para que sirven?. Intentaré es este articulo explicar brevemente estas preguntas.

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

En programación a veces nos encontramos con ciertos problemas que se repiten a lo largo de nuestra experiencia, como puede ser, el caso típico, hacer una clase que pueda controlar múltiples tipos de conexiones, o una clase que una vez instanciada (creado un objeto) no se puede volver a crear un nuevo objeto.

Pues bien, los patrones de diseño, son unos diseños básicos de clases e interfaces, aplicables a cualquier lenguaje orientado a objetos (c++, c#, java, php, javascript -si, aunque este último, lo de los objetos es muy especial), para solucionar cierto tipos de problemas.

¿Cuantos patrones de diseño hay?

Básicamente hay 20 patrones de diseño (aunque como vimos en el podcast, pueden haber variaciones, como es el caso del modelo vista controlador que Microsoft ha hecho una pequeña variación con el MVVM).

Algunos de ellos son estos (aconsejo a cualquier persona que este interesada, consultar un libro llamado Gang of Four):

¿Para que sirven?

Los patrones nos dan soluciones concretas a problemas que encontramos normalmente a desarrollar una solución en cualquier lenguaje de programación. Es simplemente para facilitarnos la vida, pero muchas veces o no son aplicables, o la solución no se adapta al 100% a nuestros requerimientos, en dicho caso, el programador es libre de usar su creatividad (no olvidemos el caso del MVVM) y adaptar el patrón a sus especificaciones personales.

Una referencia básica y primordial (cualquier libro, siempre termina haciendo referencia a este), es el Gang of Four de recomendable lectura aunque es bastante técnico.

Espero que os haya gustado el articulo, que, aunque siendo un poco escueto, trato de una tema donde se puede rellenar libros y libros.

Salir de la versión móvil