Ni ja iskreno do sada nisam imao potrebu da razmišljam na taj način, jer i kod mene je uvek server-side (PHP) bio u fokusu, dok je JS/AJAX uglavnom bio korišćen eto više "reda radi", da UI izgleda malo efektnije i bogatije. Pritom je to skoro uvek bilo bez imalo organizacije, jedan
$(document).ready(), pa u njemu neko silno bind-ovanje događaja.

Doduše, koristio sam jednom prilikom ExtJS, sad je to valjda Sencha, i to komercijala. E tu već jesam koristio te stvari koje se i sada preporučuju, OOP, moduli, namespace-ovi, itd.
A onda sam od pre nekog vremena počeo više da se interesujem za tu temu orgranizacije JS kôda, jer prosto počeo sam da ga percipiram na drugi način, u smislu da je i JS na neki način deo business logike, a ne samo neko front-end pomagalo.

I uglavnom, nešto čime se sada vodim pri pisanju JS kôda jesu dve stvari: izbegavanje zagađivanja global scope-a i enkapsulacija određenih celina u module. Ovo prvo praktično znači da npr. neki jednostavan jQuery snippet koji npr. u sklopu svoje funkcionalnosti ima neku promenljivu i možda neku pomoćnu funkciju, wrap-ujem u IIFE (Immediately Invoked Function Expression):
Code:
(function($) { //ostatak koda })(jQuery);
... upravo iz razloga da ta neka varijabla/funkcija ne bi "zagadile" global scope.
Što se tiče modula, možda ti je već i poznato kako oni funkcionišu i koji su benefiti, npr.:
Code:
var Foo = function() {
var foobar; //privatna promenljiva, dostupna samo u scope-u Foo-a
//... bas kao i ovaj privatni metod
function privateMethod()
{
//neki kôd
}
//javna svojstva ovog modula
return {
publicMethod1: function()
{
//neki kôd
},
publicMethod2 : function()
{
//neki kôd
}
};
}();
... i onda to npr. može da se koristi ovako:
Foo.publicMethod1. Modul je istovremeno i singleton, što znači da ne možeš da imaš dve te Foo instance. Kako god, opet je poenta ta enkapsulacija i "čist" global scope.
Za sve te stvari, preporučujem ti da pročitaš ovaj odličan tekst:
http://www.adequatelygood.com/...Script-Module-Pattern-In-Depth.
E sad, sve ovo bi bio samo neki uvod u celu tu priču orgranizacije JS kôda... Možda je u stvari najbolje da kreneš da tražiš na temu "jquery code organization". Eto ja sam tim upitom naišao na ovu odličnu prezentaciju na SlideShare-u -
Building Large jQuery Applications, pa ti preporučujem da i na to baciš pogled. Takođe, obrati pažnju i na drugi odgovor na ovom pitanju na StackOverflow:
http://stackoverflow.com/quest...ode-organization-in-javascript. Kao što vidiš, tu je baja predložio dosta zanimljiv pristup, da imaš te neke, u tom primeru, DimScreen i Survey klase, a da im onda u nekom public static void main-u

, dakle u momentu kada ih treba koristiti, prosleđuješ jQuery objekte nad kojima će oni da rade. Na taj način su te JS klase i moduli lišeni jQuery selektora, id-eva, imena klasa, te im se DOM nad kojim rade inject-uje spolja.
Opet kažem, ima raznih pristupa, ali pritom im je ta osnova na neki način ista. Uglavnom, treba ih sve istražiti, pa izabrati najbolji...