JS 设计模式

设计模式:某些固定的高效的用来解决特定需求的被总结成规范的写代码的形式

单例模式:

function Fn(){
    if(!Fn.obj){
        Fn.obj = {};
    }
    Fn.obj.name = "admin";

    return Fn.obj;
}

var f1 = new Fn();
var f2 = new Fn();

组合模式:
组合对象,将对象组合成特定的结构(树形),DOM的结构也是树形结构,所以,组合模式一般用来操作html结构
将多个对象按照树形结构组合起来之后,每个对象之间,会产生关系,父子级
当操作某个父对象时,它所有的子对象,实现所谓的批量操作
特点:节省操作,消耗性能

策略模式:
策略:计划,方案
提前规划有可能会执行的方案,将来在使用使用的时候,根据不同的情况,调取对应的方案

观察者模式:
发布订阅者模式
发布者:发布信息
订阅者(观察者,监听者):接收信息

一个主题对象:
多个接收对象:
形成一个简单的广播通信
接受者,随时加入和离开
耦合比较低,方便查看程序结构

抽象工厂模式:
工厂模式:原料,加工,出厂,批量创建具有相同特点的对象
抽象:将多个相同对象的共同内容,抽象出来,形成公共对象
抽象工厂模式,工作时,再从这个公共对象身上继承出属性,加入其它属性,形成真正的实例

var factory = (function(){
        function car(wheel,engine){
            this.wheel = wheel;
            this.engine = engine;
        }
        return function(wheel, engine){
            return new car(wheel,engine);
        }
    })();
    var 车架子 = factory("轮胎","引擎");

MVC模式:
M:module模型,数据
V:view视图,呈现方式
C:ctrl控制,控制器,中控中心
工作流程:
用户(浏览器)向控制器发送指令
控制器接收到这个指令后,根据指令先去取模型中的数据
再去取对应的视图
将刚才在对应的模型中拿到的数据,给刚刚取到的视图
由视图做最终显示

你可能感兴趣的:(JS 设计模式)