Javascript 设计模式 -- Revealing Module(揭示模块)模式
2015-01-07 18:20
399 查看
这是对Module模式的一个改进版本。方便集中管理公有API,使公有API更简洁清楚。
优点:该模式可以使脚本语法更加一致。在模块代码底部,它会很容易指出哪些函数和变量可以被公开访问,从而改善可读性。
缺点:如果一个私有函数医用一个公有函数,在需要打补丁时,个哦剛女友函数是不能被覆盖的。这是因为私有函数将继续引用私有实现,该模式不适用与公有成员,只适用于函数。
引用私有变量的公有对象成员也遵守无补丁规则。
var myRevealingModule = function () { var privateVar = "Ben Cherry", publicVar = "Hey there"; function privateFunction() { console.log("Name: " + privateVar); } function publicSetName(strName) { var privateName = strName; } function publicGetName () { privateFunction(); } // 将暴露的公有指针指向私有函数和属性上 return { setName: publicSetName, greeting: publicVar, getName: publicGetName }; }(); myRevealingModule.setName("Paul Kinlan"); console.log(myRevealingModule.greeting); // Hey there myRevealingModule.getName(); // Name: Ben Cherry
优点:该模式可以使脚本语法更加一致。在模块代码底部,它会很容易指出哪些函数和变量可以被公开访问,从而改善可读性。
缺点:如果一个私有函数医用一个公有函数,在需要打补丁时,个哦剛女友函数是不能被覆盖的。这是因为私有函数将继续引用私有实现,该模式不适用与公有成员,只适用于函数。
引用私有变量的公有对象成员也遵守无补丁规则。
相关文章推荐
- JavaScript设计模式之Module(模块)模式
- 设计模式——Revealing Module(揭示模块)模式
- Javascript 设计模式学习之二 Module(模块)模式
- JavaScript 设计模式 - 模块模式
- JavaScript设计模式-单例模式、模块模式
- javascript 设计模式-模块模式
- javascript设计模式-module(模块)模式
- 深度体验Javascript 模块设计模式
- javascript 设计模式-----模块模式
- 架构与模式一种javascript的设计模式
- JavaScript 设计模式学习 Factory
- JavaScript 设计模式学习 Singleton
- 小议javascript 设计模式 推荐
- 小议javascript 设计模式 推荐
- Javascript模块模式分析
- Javascript 设计模式——1.2 弱类型语言
- javascript事件设计模式(zt)
- Javascript事件设计模式
- Javascript 设计模式 - Singleton
- Javascript的一种模块模式