Wzorzec aplikacji na podstawie anonimowego domknięcia
dodany przez mtu - mar.03, 2015, w kategorii Programowanie
Kolejny wpis zawiera wzór aplikacji wykonanej w jQuery. Jest to o tyle fajne rozwiązanie, że postanowiłem uwiecznić je wpisem.
W poniższym kodzie stworzyłem aplikacje o nazwie myApp, w której zadeklarowane zostały trzy zmienne oraz jedna metoda prywatna. Do aplikacji przekazano dowolny obiekt o nazwie space. Obiekt przyjmuje właściwość publicA oraz metodę init, która jest wykonywana po załadowaniu modelu DOM w przeglądarce. Aplikacja myApp zwraca obiekt space. Wzorzec zapewnia możliwość deklaracji nowych metod poza obiektem. Proszę zwrócić uwagę, że zadeklarowane zmienne prywatne oraz publiczne są dostępne wewnątrz metody init. Wzorzec anonimowego domknięcia prezentuje się następująco:
var myApp = ( function ( space ) { var a, b, c; privateMethod = function(){ a = 5; b = 6; c = a + b; }; console.log( 'space ' + space ); space.publicA = 1; space.init = function(){ $( document ).ready( function(){ privateMethod(); console.log( 'c ' + c ); console.log( 'newMethod ' + myApp.newMethod() ); }) }; return space; }( myApp || {} )); myApp.init(); myApp.newMethod = function(){ return 10; }; console.log( 'myApp.publicA ' + myApp.publicA ); console.log( 'myApp.a ' + myApp.a );
Powyższy kod zwróci w konsoli:
// space [object Object] (10) // myApp.publicA 1 (26) // myApp.a undefined (27) // c 11 (15) // newMethod 10 (16)
Podobne: