JQuery JavaScript Conception: l'Autonomie de l'Exécution de la Fonction ou un Objet Littéral?

Je suis curieux de savoir si il ya des meilleures pratiques en matière de JQuery lors de la construction de encapsulé blocs de code.

Généralement, lorsque je construis une page j'aime encapsuler les fonctions utilisées dans cette page à l'intérieur d'un objet. Cela me permet quelques encapsulation lors de la construction d'applications. Il n'y a rien que je déteste plus que de voir un fichier JavaScript avec un tas de ce

function doSomethingOnlyRelevantOnThisPage() {
    //do some stuff
}

J'cela fait désordre de la conception, et n'a pas vraiment d'encapsuler des fonctionnalités bien.

Couramment dans de nombreux cadres, il y a une norme qui est utilisée pour effectuer cette encapsulation.

Dans Mootools ils favorisent l'Objet Littéral Notation:

var Site = {        
    //properties and methods
}

Dans YUI ils favorisent l'Autonomie de l'Exécution de la Fonction de notation:

(function() { //properties and methods })()

La bonne chose à propos le deuxième exemple est celui d'une fermeture est créé, vous permettant ainsi de définir des propriétés et des méthodes.

Ma question est: est-ce que JQuery aficionados avez des meilleures pratiques pour la création de ces proprement encapsulé structures? Quelle est la justification de leur utilisation?

OriginalL'auteur steve_c | 2008-10-09