Zastosowanie JavaScript Revealing Module Pattern

Podczas pisania aplikacji z zastosowaniem JavaScript bardzo przypadł mi do gustu wzorzec Revealing Module Pattern do uporządkowania i ustrukturyzywania kodu. Poniżej przykład

var dataService = function () {
    var serviceBase = '/Service/',

    getTravels = function (callback) {
        $.getJSON(serviceBase + 'GetTravels', function (data) {
            callback(data);
        });
    },

    getPlacesInTravel = function (travelId, callback) {
        $.getJSON(serviceBase + 'GetPlacesInTravel', { travelId: travelId }, function (data) {
            callback(data);
        });
    },

    getPlaces = function (callback) {
        $.getJSON(serviceBase + 'GetPlaces', function (data) {
            callback(data);
        });
    };

    return {
        getTravels: getTravels,
        getPlacesInTravel: getPlacesInTravel,        
        getPlaces: getPlaces
    };
} ();

Dzięki temu wzorcowi w bardzo przejrzysty sposób możemy enkapsulować logikę związaną z jakimś zagadnieniem w jednym miejscu i dodatkowo mieć wpływ, dzięki słowu kluczowemy return, jakie metody będą publiczne.

Następnie samo wywołanie sprowadza się do następującego kawałka kodu

dataService.getPlacesInTravel(value, renderPlacesInTravel);
Advertisements

One thought on “Zastosowanie JavaScript Revealing Module Pattern

  1. Dobre, szukam takich przykładów z “życia”. Przeglądałem publikację Addy Osmani, mam też chrapkę na książkę o wzorcach w JS (wydawną przez Helion). Dużo na tema wzorców można znaleźć w ‘visualstudiomagazine” gdzie publikują Papa i Vogel.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s