2017-12-21设计模式

什么叫模式?

可靠、已验证、满足个人需求、实现大型的功能解决方案
例:元素的选择

1.工厂模式

(做重复的事情)比如传入型号,做同样的重复事情,或加以判断加以处理

2.单例模式

只有一个实例

        var createWindow = function(){
            var div = document.createElement("div");
            div.innerHTML = "我是弹窗内容";
            div.style.display = 'none';
            document.body.appendChild(div);
            return div;
        };
        document.getElementById("btn").onclick = function(){
            // 点击后先创建一个div元素
            var win = createWindow();
            win.style.display = "block";
        };
3.观察者模式(订阅模式)
var fabuObj = {};  //新建一个对象==定义发布者
    fabuObj.list = []; //订阅集合 

    //增加订阅者信息
    fabuObj.listen = function(fn){
        fabuObj.list.push(fn);
    };

    //发布 消息(触发)
    fabuObj.trigger = function(){
        for(var i=0,fn;fn=this.list[i++];){
            fn.apply(this,arguments); //代表传入的所有参数
        }
    };

    fabuObj.listen(function(name,color,size){
        console.log('姓名:'+name);
        console.log('颜色:'+color);
        console.log('尺码:'+size);
    });

    fabuObj.trigger('sonia','红色','s');
    fabuObj.trigger('sonia1','红色2','s3');
适配器模式

把多个,原本不匹配的两个类,放在一起工作

你可能感兴趣的:(2017-12-21设计模式)