Java Script to specyficzny język programowania. Brak klas i nietypowe dziedziczenie prototypowe to główne cechy tej technologii. Przez długi czas nie istniały precyzyjne zasady pozwalające na tworzenie kody wysokiej jakości. Przez wiele lat Java Script nosił miano, słabego i podatnego na błędy języka, który wybaczał wiele początkującym programistom. Aktualnie coraz większa liczba bibliotek i stworzenie wspólnych standardów pozwoliły na ustanowienie solidnej pozycji Java Scriptu w internecie.

Organizacja kodu

Jeden z najpopularniejszych sposobów organizacji kodu Java Script opisuje wzorzec modułu. Niestety Java Script nie udostępnia ani zmiennych prywatnych, ani klasycznego dziedziczenia. Jednak programiści przygotowali odpowiedni sposób zapisu kodu w celu osiągnięcia konkretnych korzyści.

var aya = aya || {};

aya.framework = function() {

	// private property
	var version = '0.0.2';

	// private method
	var getVersion = function() {
		return version;
	}

	// all returned is a public
	return {

		// initialization
		init: function() {
			console.log('init successful...');
		},

		printModuleVersion: function() {
			console.log('Version: ' + getVersion());
		}
	}
}();

Przygotowany w ten sposób obiekt przechowuje wewnątrz pewne zmienne jako prywatne.
Natomiast kod zwracany jest traktowany jako publiczny. Ten prosty sposób pozwala
na ukrycie części implementacji i dostęp spoza samego obiektu.

aya.framework.init();

Jak się spodziewamy w konsoli wyświetli się informacja o inicjalizacji obiektu.

aya.framework.printModuleVersion();

Podobnie będzie, kiedy sprawdzimy wersję naszego obiektu, ale możliwe będzie to
jedynie poprzez publiczną metodę.

aya.framework.getVersion();

Próba uzyzkania wersji przy użyciu metody prywatnej poza obiektem, kończy się 
błędem, czyli dokładnie jak powinno.

> TypeError: Object #<Object> has no method 'getVersion'

Podsumowanie

Prosty, rekomendowany sposób organizacji kodu dla Twoich aplikacji. Modułowa struktura porządkująca przydatna nawet w małych projektach. Nie zaśmiecaj więcej globalnej przestrzeni nazw. Stosuj wzorzec modułu.

Join the Conversation

3 Comments

  1. Statistics show that a compatible relationship that you meet online always lasts for long, compare with a French date you meet at the bars or nightclubs. When your ex is courting another person, it may be an extremely demanding time. This is how you actually start learning things about her

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *