设计模式——Module(模块)模式
2018-03-05 01:54
232 查看
Module的实现方式
在JavaScript中,有这样几种实现模块的方式。对象的字面量表示法
Module模式
AMD模块
CommonJS模块
ECMAScript Harmony模块
针对这些方式,Module(模块)模式,作为设计模式的一种,需要研究。
对象的字面量
这样的方式是对象被描述为一组包含在大括号中,以逗号分隔的键值对。var myObject = { variableKey: 'mapbar_front' , functionKey: function (){ console.log("My Name is "+ this.variableKey) }, }
这样的方式,就是使用字面量对象的方式实现的模块。
Module(模块)模式
显然,上面的方式,是一种很不成熟的模块的实现方式。比如,如何实现一个单独的对象拥有公有/私有方法和变量。这样就让函数名、变量名在页面中,与其他脚本定义的函数冲突的可能性降低。
var testModule = (function(){ var count = 0; return { addCount: function(){ count++; }, decCount: function(){ count--; }, currentCount: function(){ return count; } } })()
上面的方式,就是一个简单的计数器的模块的实现,你无法直接改变count,你只能通过testModule暴露出的接口,实现对count的操作。这就是Module(模块)模式的基本使用。
Module模块的引入
全局变量如何作为参数,传递到我们自己的模块中?下面给出underscore.js全局变量的引入示例:var myModule = (function(_){ return { test: function(){ console.log(_.min([1,2,3])); } } })(_)
相关文章推荐
- JavaScript设计模式之Module(模块)模式
- javascript设计模式-module(模块)模式
- js设计模式之Module(模块)模式
- Javascript 设计模式学习之二 Module(模块)模式
- 递归、闭包、私有变量、特权方法、单例、模块模式(module pattern)
- Java之------单机版书店管理系统(设计思想和设计模式系列六)销售模块
- javascript 设计模式-----模块模式
- 设计模式——行为型模式之通过中介者模式(Mediator Pattern)实现各模块之间的解耦(二)
- 设计模式(二):构造器模式与模块模式
- 设计模式之状态模块加观察者模式
- 设计模式-生产者消费者模式 常见场景: 某个模块负责产生数据,这些数据由另一个模块来负责处理。产生数据的模块,就形象地称为生产者;而处理数据的模块,就称为消费者。 该模式还需要有一个缓冲区处于生
- Java之------单机版书店管理系统(设计思想和设计模式系列七)库存模块
- 设计模块一(责任链 ChainFilter 模式)
- 业务逻辑层的设计(四)——表模块模式简介
- C++ 设计模式 —— 控制器设计模式(实现功能模块间通信)
- Java 接口与模块设计模式
- js设计模式至观察者模式--不同模块间解耦
- Java之------单机版书店管理系统(设计思想和设计模式系列二)用户模块
- 中介者设计模式在视频监控的显示图像模块中的应用
- 设计模式——行为型设计模之借助观察者模式(Observer Pattern)实现模块之间的解耦(四)