Singleton pattern là một pattern được sử dụng rỗng rãi. Nó chỉ cho phép duy nhất một đối tượng được khởi tạo từ class.
class Singleton {
constructor(data) {
if (Singleton.exists) {
return Singleton.instance;
}
this._data = data;
Singleton.instance = this;
Singleton.exists = true;
return this;
}
getData() {
return this._data;
}
setData(data) {
this._data = data;
}
}
// usage
const mongo = new Singleton('mongo');
console.log(mongo._data); // mongo
const mysql = new Singleton('mysql');
console.log(mysql.getData()); // mongo