Patrones de diseño

¿Cuál de las siguientes respuestas describe el patrón de diseño «Singleton»? -> Permite que una clase tenga solo una instancia y proporciona un punto de acceso global a esa instancia.

El patrón Singleton, descrito por el conocido libro de los Design Patterns: Elements of Reusable Object-Oriented Software, garantiza que:

  • exista una única instancia de una clase;
  • esa instancia sea accesible globalmente.

Ejemplos típicos:

  • gestor de configuración;
  • gestor de logs;
  • caché global;
  • cola de impresión.

Patrón Strategy -> Define una familia de algoritmos, encapsula cada uno y los hace intercambiables. Define una familia de algoritmos, los encapsula y permite intercambiarlos.

Patrón Builder -> Separa la construcción de un objeto complejo de su representación para que el mismo proceso de construcción pueda crear diferentes representaciones. (Separa la construcción de un objeto complejo de su representación.)

Patrón Abstract Factory -> Proporciona una interfaz para crear familias de objetos relacionados o dependientes sin especificar sus clases concretas. (Crear familias de objetos relacionados)

Esquema muy útil para estudiar

Singleton

Objetivo:

  • Una única instancia.
  • Acceso global.

Uso:

  • Configuración.
  • Logger.
  • Caché.
  • Gestor de conexiones.

Patrones GoF más preguntados

PatrónIdea clave
SingletonUna única instancia
StrategyAlgoritmos intercambiables
BuilderConstrucción paso a paso
Abstract FactoryFamilias de objetos
Factory MethodDelegar la creación de objetos
ObserverNotificación automática
DecoratorAñadir funcionalidades dinámicamente
AdapterAdaptar interfaces incompatibles

Truco para recordar

Singleton

Single

Una sola instancia.


Los patrones de diseño son soluciones generales para problemas comunes en el desarrollo de software. Esta es prácticamente la definición clásica del libro de la GoF (Gang of Four):

Un patrón de diseño es una solución general, reutilizable y probada para un problema recurrente en un determinado contexto de diseño de software.

Los patrones de diseño sirven para problemas repetitivos, no para casos únicos.

Se utilizan en cualquier capa:

  • presentación;
  • negocio;
  • acceso a datos;
  • infraestructura.

Ejemplos:

  • MVC → presentación.
  • Factory → creación de objetos.
  • Singleton → infraestructura.
  • Strategy → lógica de negocio.

Los patrones de diseño son soluciones generales para problemas comunes en el desarrollo de  software.

Suelen aportar más valor en proyectos grandes, donde favorecen:

  • reutilización;
  • mantenimiento;
  • extensibilidad.

squema para el examen

¿Qué es un patrón de diseño?

Una:

  • ✅ solución general;
  • ✅ reutilizable;
  • ✅ probada;
  • ✅ para un problema recurrente.

No es:

  • un algoritmo;
  • una implementación concreta;
  • una librería.

Clasificación GoF

Creacionales

  • Singleton
  • Factory Method
  • Abstract Factory
  • Builder
  • Prototype

Estructurales

  • Adapter
  • Facade
  • Decorator
  • Composite
  • Proxy
  • Bridge
  • Flyweight

De comportamiento

  • Strategy
  • Observer
  • Command
  • State
  • Iterator
  • Mediator
  • Visitor
  • Template Method
  • Chain of Responsibility
  • Interpreter
  • Memento

Truco para recordar

Un patrón de diseño es como un plano de arquitectura.

No construye la casa.

Te dice cómo conviene construirla cuando aparece un problema conocido.