• # 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.