常见设计模式

单例模式

订阅者——发布者模式


策略模式

定义

定义一系列的算法,把他们一个个封装起来,并且使他们可以相互交换

将不变的部分和变化的部分隔开是每个设计模式的主题,策略模式的目的就是将算法的使用与算法的实现分离开来

使用

检验用户是否输入了合法数据的例子

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设计模式与开发者实践

原文地址:https://www.cnblogs.com/zhoujingguoguo/p/12602304.html