A maneira mais elegante de criar uma estrutura de tipo de namespace / classe em JavaScript [closed]

Estou tentando estabelecer um método que me proporcionará a maneira mais elegante de envolver meu códigoNamespace/Unit como objetos. Por exemplo, a API do Google Mapsvar a = Google.Maps.Foo();, o que eu acho que parece bastante limpo.

Eu gostaria queincluir (se esse é o termo certo) ojQuery No Conflict $ assinar também.

Até agora estou gostando:

// Top level container for sub objects
var myApp = myApp || {}; 

// An object to be held in myApp     
(function( skillet, $, undefined ) {

    //Private Property
    var isHot = true;

    //Public Property
    skillet.ingredient = "Bacon Strips";

    //Public Method
    skillet.fry = function() {
        var oliveOil;

        addItem( "\t\n Butter \n\t" );
        addItem( oliveOil );
        console.log( "Frying " + skillet.ingredient );

        return "Fried!";
    };

    //Private Method
    function addItem( item ) {
        if ( item !== undefined ) {
            console.log( "Adding " + $.trim(item) );
        }
    }   

}( window.myApp.skillet = window.myApp.skillet || {}, jQuery ));

Alguém pode expandir isso, apontar problemas em potencial, ou apenas oferecer uma metodologia melhor em geral?

questionAnswers(1)

yourAnswerToTheQuestion