Todo lo que acabas de ver en este artículo es solo una pequeña parte del libro Introducción a los patrones de diseño, el libro más completo de patrones de diseño en español, abarcamos 25 patrones de diseño junto con 25 proyectos del mundo real. Olvídate de aprender patrones de diseño con los ejemplos típicos de Internet de cómo hacer una pizza, animales y figuras geométricas. te invito a que veas mi libro:
Ver libroSingleton
Patrón de diseño creacionalEl patrón de diseño Singleton (soltero) recibe su nombre debido a que sólo se puede tener una única instancia para toda la aplicación de una determinada clase, esto se logra restringiendo la libre creación de instancias de esta clase mediante el operador new e imponiendo un constructor privado y un método estático para poder obtener la instancia.
La intención de este patrón es garantizar que solamente pueda existir una única instancia de una determinada clase y que exista una referencia global en toda la aplicación.
Los componentes que conforman el patrón son los siguientes:
- Client: Componente que desea obtener una instancia de la clase Singleton.
- Singleton: Clase que implementa el patrón Singleton, de la cual únicamente se podrá tener una instancia durante toda la vida de la aplicación.
- El cliente solicita la instancia al Singleton mediante el método estático getInstance.
- El Singleton validará si la instancia ya fue creada anteriormente, de no haber sido creada entonces se crea una nueva.
- Se regresa la instancia creada en el paso anterior o se regresa la instancia existente en otro caso.
Ejemplo del mundo real
Mediante la implementación del patrón de diseño Singleton crearemos una aplicación que permite gestionar la configuración del sistema desde un único punto centralizado. Así, cuando la aplicación inicie, cargara la configuración inicial y está disponible para toda la aplicación.
¿Sabes la importancia de los patrones de diseño?
Los patrones de diseño son la clave para crecer profesionalmente hacia la arquitectura de software, sin mencionar que los salarios son los más altos de la industria de IT, descúbrelo en este video.