Patrones de Diseño: Singleton

Sun Apr 25 2021 12:39:15 GMT-0400

Patrones de Diseño: Singleton

¿En qué consiste?

La idea principal es garantizar que sólo se generará y utilizará un único objeto la aplicación.

¿Cuándo utlizarlo?

Ejemplos de uso

¿Cómo generarlo?

La clave está en crear un método static y añadir una condición en dicho método que revise si el objeto ya ha sido generado

Revisa los comentarios en la siguiente clase

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class DBInstance {
// 1.- crea un attributo 'static' para la instancia
private static _instance: DBClient; // Definir una variable privada para la instacia del objeto.

//parámetos de conexión
private static _URL: string;
private static _USER: string;
private static _PASS: string;

// 2.- Crea un método 'static' para que no tener que utilizar 'new'
// y crear un objeto distinto para cada llamado.
static getDocClient(): DBClient {
// 3.- Condición if para asegurar que no se vuelva a crear.
if (!this._instance) {
this._instance = new DBClient.connect({
url: this._URL,
user: this._USER,
pass: this._PASS,
});
}
return this._instance;
}
}

export { DBInstance };
Top