-1
votes

Comment implémenter le modèle de conception singleton dans JavaScript à l'aide de classes?

J'ai vu quelques exemples comment implémenter le modèle de conception singleton en utilisant ife dans JavaScript, mais je me demande comment la mettre en œuvre en utilisant des classes?


0 commentaires

3 Réponses :


0
votes

class Ex {
  static getInstance() {
    if (Ex.instance === null) {
      Ex.instance = new Ex();
    }
    return Ex.instance;
  }
}
Ex.instance = null;

const ex = Ex.getInstance();
console.log(ex);


0 commentaires

0
votes

Bien que vous puissiez le faire, il n'est pas nécessaire d'utiliser classe code> pour cela. La plupart du temps, vous pouvez simplement utiliser un objet clair CODE> et le traiter comme un singleton: xxx pré>

puis, par exemple: p> xxx

Si vous souhaitez avoir une API EM> em>, renvoyez simplement Ceci code> ou le mySingleton code> objet: p>

import {MySingleton} from './path/to/mysingleton';

MySingleton.init(1, 2, 3).method();


0 commentaires

0
votes

Il n'y a pas de classe en JavaScript:

Les classes JavaScript, introduites dans ECMAScript 2015, sont principalement syntaxiques du sucre syntaxiste sur l'héritage existant sur le prototype existant de JavaScript. La syntaxe de classe n'introduit pas un nouveau modèle d'héritage orienté objet vers JavaScript.

Le point est qu'il est impossible de définir des méthodes publiques ou privées en JavaScript, tandis que Singleton Motif est basé sur l'encapsulation avec un constructeur privé et un accesseur public.


0 commentaires