Module Design Pattern in Javascript

var myNamespace = window.myNamespace || {};

myNamespace.module = (function(){
  //private memebers
  var privateProperty1 = false;
  var privateProperty2 = [1,2,3];
  function privateMethod1(){
    console.log('Hi');
  }
  function privateMethod2(){
    console.log('Hello');
  }

  //return object
  return{
    //public members
    publicProperty1: true,
    publicProperty2: 10,
    publicMethod1: function(){
      console.log(privateProperty1);
    },
    publicMethod2: function(){
      console.log(privateProperty2);
    },
    publicMethod3: function(){
      privateMethod1();
    },
    publicMethod4: function(){
      privateMethod2();
    }
  }
})();

Leave a Reply

Your email address will not be published. Required fields are marked *