mh-cbon a écrit 126 commentaires

  • # la réponse de la question

    Posté par  . En réponse au message Singleton en Js. Évalué à 2. Dernière modification le 09 mars 2016 à 12:22.

    Oui dans l'absolu et au module.exports près ça marche.

    Maintenant, comme tu vas utiliser un require, et donc mettre un jolie module.exports, tu peux ré écrire le code comme cela :

        'use strict';
    
        var counter = 0;
        module.exports = {
          getName: function () {
              return "singleton";
          },
          getCounter: function () {
              return counter;
          },
          setCounter: function (k) {
              counter = k;
          }
        }

    Et l'utiliser comme cela

        var s = require('./single.js');
        var s2 = require('./single.js');
    
        console.log(s.getCounter());
        console.log(s2.getCounter());
        console.log(s.setCounter(10));
        console.log(s2.getCounter());
        console.log(s.getCounter());

    Une histoire de mise en cache des modules par require, http://stackoverflow.com/questions/9210542/node-js-require-cache-possible-to-invalidate

    PS : Ouais, moi aussi l'indent est moche.