JS-设计模式

作者: 壹枕星河 | 来源:发表于2019-03-27 12:19 被阅读4次

设计模式:代码经验的总结
设计模式都是面向对象的

工厂模式

工厂函数就是做一个对象创建的封装,并将创建的对象return出去

 function newObj(name,age){
    var o = new Object();
    o.name = name;
    o.age = age;
    return o;
}
var obj = newObj();
单例模式:只允许存在一个实例的模式
 var Instance = (function(){
    var obj;
    return function(){
        if(obj === undefined) obj = new Date();
        return obj;
    }
})();
var ibs = Instance();
观察者模式

又称发布订阅者模式,经典案例:事件监听,一个元素同时监听多个同类型事件,元素对象即为发布者,每一个事件处理函数即为订阅者。

策略模式

策略模式的定义是:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换,从而避免很多if语句,曾经学过最简单的策略模式雏形就是使用数组的方式解决传入数字得到对应星期几问题的算法。

比如公司的年终奖是根据员工的工资和绩效来考核的,绩效为A的人,年终奖为工资的4倍,绩效为B的人,年终奖为工资的3倍,绩效为C的人,年终奖为工资的2倍

 var obj = {
    "A": function(salary) {
        return salary * 4;
    },
    "B" : function(salary) {
        return salary * 3;
    },
    "C" : function(salary) {
        return salary * 2;
    }
};
var calculateBouns =function(level,salary) {
    return obj[level](salary);
};
console.log(calculateBouns('A',10000)); // 40000
代理模式

代理模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问,为了不暴露执行对象的部分代码

 //三个对象
//用户委托快捷方式打开exe
//为了不暴露执行对象的部分代码
//男孩委托快递小哥给女孩送礼物
var girl = function(name){
    this.name = name;
}
//隐藏复杂,不愿意修改的的方法
var boy = function(girl){
    this.girl = girl;
    this.send = function(gift){
        alert("你好:"+this.girl.name+",给你一个"+gift);
    }
}
var proxyBro = function(girl){
    this.send = function(gift){
        new boy(girl).send(gift);
    }
}
var pro = new proxyBro(new girl("Lisa"));
pro.send("么么哒");
pro.send("玫瑰花");

相关文章

  • JS-设计模式

    设计模式:代码经验的总结设计模式都是面向对象的 工厂模式 工厂函数就是做一个对象创建的封装,并将创建的对象retu...

  • js-设计模式(总结)

    1.什么叫做设计模式(基本概念) 在面向对象软件设计过程中,针对问题进行简洁而优雅的一种解决方案 设计模式是在某种...

  • js-设计模式之观察者模式

    1. 观察者模式介绍 观察者模式也称发布订阅(publish/subscribe简称Pub/Sub)模式。这是一种...

  • 面向对象的JS-设计模式(1)

    面向对象编程风格 封装 继承 多态 编程风格 面向对象变成就是将你的需求抽象成一个对象,然后针对这个对象分析其特征...

  • JS-严格模式

    严格模式对正常的Javacript语义做了一些更改:1.严格模式消除了一些 JavaScript的静默错误,通过改...

  • JS-严格模式

    参考文章:严格模式 1.设计目的 早期的 JavaScript 语言有很多设计不合理的地方,但是为了兼容以前的代码...

  • js-文件的上传和下载

    js-文件的上传和下载

  • WebSocket 心跳 登陆 实例代码!

    · JS-前端代码. · JAVA-后端代码.

  • 设计模式

    常用的设计模式有,单例设计模式、观察者设计模式、工厂设计模式、装饰设计模式、代理设计模式,模板设计模式等等。 单例...

  • 设计模式笔记汇总

    目录 设计原则 “依赖倒置”原则 未完待续... 设计模式 设计模式——策略模式 设计模式——装饰者模式 设计模式...

网友评论

    本文标题:JS-设计模式

    本文链接:https://www.haomeiwen.com/subject/iafzvqtx.html