目录
单例模式
订阅者——发布者模式
策略模式
定义
定义一系列的算法,把他们一个个封装起来,并且使他们可以相互交换
将不变的部分和变化的部分隔开是每个设计模式的主题,策略模式的目的就是将算法的使用与算法的实现分离开来
使用
检验用户是否输入了合法数据的例子
var strategies = {
isNonEmpty:function(value,errorMsg){
if(value === ''){
return errorMsg;
}
}
minLength:function(){
if(value.length < length){
if(value.length <length){
return errorMsg;
}
}
}
}
var validataFunc= function(){
var validator = new validator();
validator.add(regidterform.userName,'isNonEmpty',"用户名不能为空")
validator.add(regidterform.password,'minLength',"密码长度不能少于6位")
var error = validator.start();//获取校验结果
return error;
}
var
代理模式
虚拟代理实现图片预加载
缓存代理
装饰器模式
可以动态的给某个对象添加一些额外的职责,而不会影响从这个类中派生的其他对象。
AOP装饰函数
参考自:javascript设计模式与开发者实践