Skip to content

Instantly share code, notes, and snippets.

@drenther
Created July 1, 2018 15:24
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save drenther/9bca6f5398ed7f7d13e1d6a3c170747d to your computer and use it in GitHub Desktop.
Save drenther/9bca6f5398ed7f7d13e1d6a3c170747d to your computer and use it in GitHub Desktop.
Creational Pattern - Singleton
class Database {
constructor(data) {
if (Database.exists) {
return Database.instance;
}
this._data = data;
Database.instance = this;
Database.exists = true;
return this;
}
getData() {
return this._data;
}
setData(data) {
this._data = data;
}
}
// usage
const mongo = new Database('mongo');
console.log(mongo.getData()); // mongo
const mysql = new Database('mysql');
console.log(mysql.getData()); // mongo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment