W literaturze spotkać można dwa określenia. Wzorzec modułu [źródło: Mocne strony JavaScript] oraz wzorzec fabryki [źródło: JavaScript dla Webmasterów]. Ja nie widzę zbyt wielkich różnic w samym kodzie, chodzi raczej o ideę, która przyświecała twórcy. We wzorcu modułu stworzyć coś na wzór przestrzeni nazw, komponent całego systemu. W fabryce po prostu funkcję zwracającą obiekt.

Chciałbym zatem tu pokazać kilka dobrych praktyk jakich warto używać przy tworzeniu obiektów z wykorzystaniem wzorca fabryki / modułu. Część z nich jest nieosiągalna w przypadku stosowania np. tworzenia obiektów z prototypu.
Continue reading

Javascript posiada wiele sposobów na tworzenie obiektów. Jednym z nich jest wzorzec fabryki obiektów (czasem zwany wzorcem modułu). Chciałbym pokazać, jak można wykorzystując ten wzorzec stworzyć IMO wygodniejsze obiekty.

Kod prostego obiektu

var yPerson = function()
{
    var sName,
        nAge;

    function fName( name )
    {
        sName = name || sName;
        return sName;
    }

    function fAge( age )
    {
        nAge = age || nAge;
        return nAge;
    }

    return {
        name : fName,
        age  : fAge
    };
};

Continue reading