js自定义消息机制研究学习(三)——插件化我们js开发
研究了一些基础的自定义消息机制,对一些简单的开发已经足够。
现在我们来尝试面对一些稍微复杂一些的架构设计。
首先,增加了一个插件模式:
plugs
var plugs=(function(){ function addPlugs(name,plug) { var __plugs=this.__plugs=this.__plugs || {}; if(name && plug) { __plugs[name]={ installed:false, instance:plug }; } } function installPlugs() { var plugs=this.__plugs=this.__plugs || {}; for(var i in plugs) { var plug=plugs[i]; if(!plug.installed) { plug.instance.install(this); plug.installed=true; } } } return { ini:function(X) { X=monitor.ini(X); if(X.live) { var proto=X.prototype; proto.addPlugs=addPlugs; proto.installPlugs=installPlugs; } X.__plugs={}; X.addPlugs=addPlugs; X.installPlugs=installPlugs; } }})();
如果你看过前两篇代码,这段代码是比较容易看懂的。它为传入的对象(或函数)首先绑定了monitor模式,然后为对象增加了两个方法:addPlugs,installPlugs
addPlugs 添加插件
installPlugs 安装插件
添加插件很简单,只是把实体装到一个{}键值对中
安装插件,就会调用每个插件对象的:install方法
为什么要有插件模式呢?我们举个例子来说明
虚构一个需求:
1. 在页面
- 发表评论
-
- 最新评论 更多>>