18.7.15

Some shit for your javascript: The Module Pattern

The Module Pattern was originally defined as a way to have software modules in a programming language with incomplete direct support for the concept. 
This pattern in JavaScript is used to mimic the classes concept and focuses on public and private encapsulation in such a way that we're able to include both public/private methods and variables inside a single object. 
The Module Pattern is, the most commonly used design pattern and widely accepted, you can find it in a number of large projects such as jQuery, Dojo, ExtJS, AngularJS and YUI.
To implement this pattern we will use another one know as the Immediately-invoked function expression
What? Well, this one:
(function () {
  // the code here is executed once in its own scope
})();
It declares a function, which then calls itself immediately. 
So, lets watch a sample of the Module pattern:
var MyFancyModule = (function () {

  var privateMethodOne      = function () {};
  var privateMethodTwo      = function () {};
  var privateMethodThree    = function () {};

  return {
    publicMethodOne: function () {
      // You can call `privateMethodX()` you know...
    },
    publicMethodtwo: function () {

    },
    publicMethodThree: function () {

    }
  };

})();
Now you can get an idea on how to organize your shitty code.

Creative Commons License This page is powered by Blogger. Isn't yours?