¿Qué es el patrón de diseño de software: singleton?
El patrón de diseño de software: Singleton, es una técnica que tiene como objetivo, que una clase solo pueda construir e instanciar un objeto.
Beneficios que ofrece el patrón de diseño de software: singleton.
- ✔ Simplificar la gestión de los recursos de infraestructura.
✔ Evitar múltiples instancias de una clase que puedan afectar su rendimiento.
✔ Permitir el acceso a la clase desde cualquier parte del código fuente.
Buenas prácticas para la implementación.
- ✔ Construir el diagrama de clases de la aplicación de software.
✔ Identificar las clases que solo requieren instanciar una vez el objeto dentro de la aplicación de software.
✔ Generar un constructor privado que solo permita la creación de una instancia dentro de la clase.
✔ Generar un método estático que solo devuelva una única instancia de la clase.
Este cuadro expone otros artefactos que pueden complementar o reemplazar, según el escenario, el uso del patrón de diseño de software: singleton.
| Alternativa | Acción clave | |
|---|---|---|
| 1. El patrón de diseño de software: Adapter. | Conectar clases que no son compatibles entre sí para que trabajen juntas. | |
| 2. El patrón de diseño de software: Builder. | Simplificar las clases complejas en objetos fáciles de utilizar. | |
| 3. El patrón de diseño de software: Factory method. | Creación de clases haciendo uso de subclases. | |
| 4. El patrón de diseño de software: Observer. | Establecer comunicación entre objetos para que entre ellos conozcan su cambio de estado. | |
| 5. El patrón de diseño de software: Singleton. | Ver el contenido de la presente guía. | |
| 6. El patrón de diseño de software: State. | Tomar la referencia del estado actual de un objeto y generar un cambio en su comportamiento. | |
| 7. El patrón de diseño de software: Strategy. | Definición de estándares que debe cumplir un objeto para intercambiar mensajes. | |
¿Quiénes son responsables?
El responsable del patrón de diseño de software: singleton es el programador de software, quien hace parte de la dirección de ti.
Ejemplo.
Este ejemplo es una plantilla que se construyo durante el proceso de preparación para presentar los exámenes y obtener las certificaciones CAMP, PMP y PMI-ACP del PMI. Adicionalmente las certificaciones SMAC, STMAC y SPOAC del Scrum Institute.

Pregunta tipo examen.
Pregunta: La definición que mejor se ajusta para el patrón de diseño de software: singleton. ¿Debe ser?
A) Es una forma de construir código fuente utilizando únicamente subrutinas y funciones.
B) Es una técnica que tiene como objetivo, que una clase solo pueda construir e instanciar un objeto.
C) Es una forma de construir código fuente, cuyo objetivo es generar instrucciones especificas para soportar la acción que realiza un usuario en un objeto visual del software.
D) Es un profesional experto en la definición de la estrategia, la gestión de la infraestructura, la supervisión de proyectos y presupuestos, la seguridad de la información y la gestión del equipo de TI.
Sobre el autor.
Juan David López Pava: profesional en administración de empresas y desarrollo de software con certificaciones del PMI y Scrum Institute, apasionado por la transformación digital y la dirección de proyectos de tecnología.