Keresés

Új hozzászólás Aktív témák

  • martonx

    veterán

    válasz Sk8erPeter #4409 üzenetére

    Most fejből dobom ide, én ilyesmit szoktam használni:

    function model() {
    var self = this;

    //Ez privát
    var privateApple;

    //Ez publikus
    self.publicApple = "valami";

    //Ez privát
    function privateTest(){
    };

    //Ez publikus
    self.publicTest(){
    };

    return self;
    };

    Így minden, amit a self-re felfűzök az publikus lesz. Ami meg nincs a self-en az privát. Szvsz ez az egyik legletisztultabb módszer. És persze ezt lehet megfűszerezni IIFE-vel, vagy Singleton pattern-nel, mikor melyik a célszerűbb.

  • Jim-Y

    veterán

    válasz Sk8erPeter #4409 üzenetére

    Hehe, érdekes, hogy ami neked kaotikus, az nekem átlátható, és ami neked megfelelő, az számomra kaotikus. Wtf:D

    Amúgy tényleg, ha legjobban körül szeretném írni, hogy számomra miért szimpatikusabb a "kódismétléses" verzió, akkor egész egyszerűen csak a tapasztalataimra tudnék hivatkozni. Ha van egy modulod amiben mondjuk van 40-50 függvény, ebből mondjuk 30 publikus, akkor azt a 30 publikusat a visszaadott objekt literalba tenni

    Nem tudok fogalmazni basszus..

    Na a lényeg, hogy sok függvény esetén az általad javasolt megoldás átláthatatlan kódot eredményez. Ha én mint fellow co-worker megnyitok egy új modult akkor nem akarok 1000 sort átscrollozni és úgy átnézni, hogy mik a modul publikus függvényei (publikus alatt a visszaadottakat értem). Helyette sokkal jobb, ha a modul végén van egy

    return = {
    egy: egy,
    ketto: ketto,
    stb: stb
    };

    Egész egyszerűen átláthatóbb.

    Require-ben is, ez a de-facto skeleton (ha jól tudom)

    define('moduleName', ['deps'], function(dep) {
    var module;
    module = {
    ....
    };
    return module;
    });

    Én nap-mint találkozom olyan modulokkal, na jó, pár modullal, ahol ha az össze method-body a return-be lenne behányva akkor a hajamat tépném.

    Persze ha a modul csak pár függvényt tartalmaz, és azok is ilyen rövidek, akkor nyílván sokkal jobb az általad felvázolt verzió, ezt belátom én is. De egy 1500-2000 soros modulnál.. na ott szerintem ez már nem jó.

Új hozzászólás Aktív témák