Home Assistant Fácil

Curso de Home Assistant y domótica

  • Blog
  • Soy un pardillo
  • Podcast
  • Curso Arduino
  • Curso Domótica
  • Acceder
Usted está aquí: Inicio / Blog / Programación / Los patrones de diseño

Los patrones de diseño

Luis del Valle Hernández

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):

  • Singleton: Se trata de una clase que tan solo se puede instanciar una única vez, las siguientes veces que se instancia, siempre obtendremos el objeto que hemos instanciado la primera vez.
  • Factory: Se trata de una clase, que pasandole el tipo de objeto que queremos instanciar, nos devuelve ese tipo en concreto.
  • Abstract Factory: Parecido a la anterior, pero es capaz de trabajar con clases de diferente diseño, a partir de interfaces.
  • Builder: Este patrón, nos ayuda a instanciar objetos complejos, cuyo constructor o instancia inicial sería muy engorrosa para el programador.
  • Prototype: Crea objetos en clonando una instancia determinada de una clase.
  • Modelo vista controlador: Intenta dividir el acceso a datos, del control de datos y de la vista o presentación de datos (explicado en el podcast 19).

¿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.

slzb-06

SLZB-06U: migrar coordinador Zigbee desde Sonoff Dongle P (y por qué el Dongle E es diferente)

Vale, lo confieso: no hay nada que me dé más pereza en domótica que tener que migrar toda la red Zigbee. El típico momento en el que tu viejo … [+ info...]

Home Assistant 2026.6

Home Assistant 2026.6: dashboard inteligente, IR bidireccional y automatizaciones más claras

Llevas meses peleándote con el dashboard de Home Assistant: añadir una tarjeta requería saber de memoria el nombre de cada tipo de bloque, y al final … [+ info...]

MATTER HOME ASSISTANT

Matter Home Assistant: Thread local sin nube

Hay automatizaciones que parecen una chorrada hasta que las vives todos los días. Sesenta minutos después del amanecer, los toldos de mi terraza bajan … [+ info...]

Copyright © 2026 · Programar Fácil · Aviso legal