Skip to content

Patrones de diseño

Aquí trato de condensar los patrones de diseño que suelo usar en proyectos reales. Aunque tal como mencionan en el video de la introducción, no hay patrones completamente buenos ni completamente malos.

Son patrones que se orientan a la creación de instancias de forma responsable. Es decir, da ideas para discernir si es necesario crear 50 objetos de un tipo o si se puede optimizar el código para solo crear 10 objetos de otro tipo

Este patron busca asegurar que una clase solo tenga una instancia y proporciona un punto global de acceso a esa instancia. Esto lo suelo usar cuando necesito por ejemplo una arquitectura con conexión a un modelo de IA o cuando tengo un controlador global en mi aplicación que se encarga de orquestar toda la lógica de negocio. También es bastante común verlo en programación de videojuegos porque es más sencillo manejar una sola instancia con lógica del ambiente.

Esto es un patrón creacional, es decir, busca facilitar la creación de instancias de objetos. Esto lo consige usando “clases especializadas”.

Me da un poco de flojera hacer la definición de qué son los patrones estructurales. Así que toma esta definición de campusempresa.com:

Los patrones estructurales se centran en la composición de clases y objetos. Su objetivo principal es facilitar el diseño de estructuras complejas mediante la identificación de relaciones simples entre entidades. Estos patrones ayudan a garantizar que, al combinar objetos y clases, el sistema sea flexible y eficiente.

Estos patrones son para determinar cómo interactuan las diferentes partes de nuestro código. Cómo interactuan las funciones y objetos entre si.

Este patron soluciona el problema de tener que recorrer clases. Es por así decirlo, una sugerencia de implementación; si tu clase va a tener estructuras de datos en donde es necesario obtener un elemento siguiente, pues ahí es recomendable implementar un iterador