• # Recommendations

    Posté par (site web personnel) . En réponse au message Singleton en Js. Évalué à 3.

    Bref, Js, je débute, et pour être franc, ça me rebute un peu. Je trouve ce langage très difficile à appréhender, notamment par le manque de recommandations officielles et claires, mais passons. Et comme je débute, quoi de mieux que de commencer au début du langage.

    C'est pour cela que Douglas Crockford a écrit son livre "JavaScript – The GoodParts".

    Le niveau 2 du singleton est le singleton paresseux: tu écris une objet qui délègue tous ses appels à un second-objet (avec la même interface) qui crée cet objet avant l'appel à la première méthode.

    var create_counter = function(_my, _super) {
     var my = _my || {};
     var that = {};
     my.count = 0;
     that.tick() = {
     my.count+= 1;
     return my.count;
     }
     return that;
    }
    var create_lazy_counter = function(_my, _super) {
     var my = _my || {};
     var that = {};
     my.actual_counter = null;
     function delegate(meth) {
     that[meth] = function() {
     if(my.actual_counter === null) {
     my.actual_counter = make_counter();
     }
     return my.actual_counter[meth].apply(my.actual_counter, arguments);
     }
     return that;
    }
    

    Dans l'exemple scolaire ci-dessus ça n'a pas trop d'intérêt mais cela peut être utilisé pour raccourcir les tenps d'intitlisation de programmes.