Revealing Module Pattern
Public interface
by Steven Senkus
JavaScript
var myRevealingModule = function() {
var privateVar = "private var",
publicVar = "public var";
function privateFunction() {
console.log("privateVar === " + privateVar);
}
function publicSetPrivateVar(strName) {
privateVar = strName;
}
function publicGetPrivateVar() {
privateFunction();
}
return {
setPrivateVar: publicSetPrivateVar,
getPublicVar: publicVar,
getPrivate: publicGetPrivateVar
};
}();
var MRM = myRevealingModule;
console.log(MRM.getPublicVar);
console.log(MRM.getPrivate());
MRM.setPrivateVar('sdfsdfsdf');
console.log(MRM.getPrivate());