Damien Flandrin

Tutoriels, astuces et conseils sur le développement web par un développeur web

Tutoriel - Design pattern Singleton en Javascript

il y a 5 mois · 1 MIN DE LECTURE
#Tutoriel  #Javascript  #Design Pattern 

Singleton est un modèle de design pattern spécial où une seule instance d'une classe peut exister. Cela fonctionne comme ceci - si aucune instance de la classe singleton n'existe alors une nouvelle instance est créée et retournée mais si une instance existe déjà alors la référence à l'instance existante est retournée.

Dans cet exemple, nous avons une classe de base de données qui est un Singleton. Tout d'abord, nous créons un objet mongo en utilisant le nouvel opérateur pour invoquer le constructeur de classe Database. Cette fois, un objet est instancié parce qu'aucun n'existe déjà. La deuxième fois, lorsque nous créons l'objet mysql, aucun nouvel objet n'est instancié mais la référence à l'objet qui a été instancié précédemment, c'est-à-dire l'objet mongo.

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

···

Damien Flandrin

Je suis développeur web pour l'agence Carredas, je fais principalement du PHP avec Laravel et Prestashop.
comments powered by Disqus


Développeur Web - Damien Flandrin