JS 设计模式四 -- 模块模式

概念

模块模式的思路 就是 就是单例模式添加私有属性和私有方法,减小全局变量的使用。app

简单的代码结构:函数

var singleMode = (function(){
    // 建立私有变量
    var privateNum = 100;
    // 建立私有函数
    function privateFunc(){
        // 实现本身的业务逻辑代码
    }
    // 返回一个对象包含公有方法和属性
    return {
        publicMethod1: publicMethod1,
        publicMethod2: publicMethod1
    };
})();

 

何时使用模块模式?

若是咱们必须建立一个对象并对某些对象进行初始化时,同时还要公开访问这些私有数据的方法,name这个时候咱们就能够使用模块模式了。this

 

加强的模块模式

加强的模块模式的使用场合是:适合那些单列必须是某种类型的实例,同时还必须添加某些属性或方法对其加以加强的状况。spa

function CustomType() {
    this.name = "GaoSir";
};
CustomType.prototype.getName = function(){
    return this.name;
}
var application = (function(){
    // 定义私有
    var privateA = "privateA";
    // 定义私有函数
    function privateMethodA(){};

    // 实例化一个对象后,返回该实例,而后为该实例增长一些公有属性和方法
    var object = new CustomType();

    // 添加公有属性
    object.publicA = "publicA";
    // 添加公有方法
    object.publicB = function(){
        return privateA;
    }
    // 返回该对象
    return object;
})();

console.log(application.publicA);// publicAprototype

console.log(application.publicB()); // privateAcode

console.log(application.name); // GaoSir对象

console.log(application.getName());// GaoSirblog

相关文章
相关标签/搜索