pbojinov
8/14/2013 - 8:08 PM

Revealing Module - http://addyosmani.com/resources/essentialjsdesignpatterns/book/#revealingmodulepatternjavascript

var myRevealingModule = function () {
 
    var privateCounter = 0;
 
    function privateFunction() {
        privateCounter++;
    }
 
    function publicFunction() {
        publicIncrement();
    }
 
    function publicIncrement() {
        privateFunction();
    }
 
    function publicGetCount(){
      return privateCounter;
    }
 
    // Reveal public pointers to 
    // private functions and properties        
 
   return {
        start: publicFunction,
        increment: publicIncrement,
        count: publicGetCount
    };
 
}();
 
myRevealingModule.start();