设计模式
文章平均质量分 79
msy_msy
前端开发,热爱跑步、爬山
展开
-
设计模式学习(二)
1.单例模式 // 单例模式,执行了3次,但实际div只绑定了一次。 var getSingle = function( fn ){ var result; return function(){ return result || ( result = fn .apply(this, arguments ) ); } }; var bindEvent = getSingle(f原创 2017-12-18 14:25:53 · 231 阅读 · 0 评论 -
设计模式学习(三)
2.策略模式 var strategies = { "S": function( salary ){ return salary * 4; }, "A": function( salary ){ return salary * 3; }, "B": function( salary ){ return salary } }; var calcul原创 2017-12-19 10:59:18 · 152 阅读 · 0 评论 -
设计模式学习(四)
3.代理模式 代理模式的关键是,当客户不方便直接访问一个对象或者不满足需要的时候,提供一个替身对象来控制对这个对象的访问,客户实际上访问的是替身对象。 应用: 1>图片预加载(由于图片过大或者网络不佳,图片的位置往往有段时间会是一片空白。常见的做法是先用一张loading 图片占位,然后用异步的方式加载图片,等图片加载好了再把它填充到 img 节点里,这种场景就很适合使用虚拟代理。)原创 2017-12-19 15:15:47 · 129 阅读 · 0 评论 -
设计模式学习(五)
4.迭代器模式 (迭代器模式是指提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。迭代器模式可以把迭代的过程从业务逻辑中分离出来,在使用迭代器模式之后,即使不关心对象的内部构造,也可以按顺序访问其中的每个元素。) 迭代器模式无非就是循环访问聚合对象中的各个元素。比如 jQuery 中的$.each 函数 $.each( [1, 2, 3], functio原创 2017-12-20 16:14:09 · 189 阅读 · 0 评论 -
设计模式学习(一)
序号 模式 & 描述 包括 1 创建型模式 这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。 工厂模式(Factory Pattern) 抽象工厂模式(Abstract Factory Pattern) 单例模式(Singleton P原创 2017-12-13 10:56:29 · 153 阅读 · 0 评论 -
设计模式学习(六)
发布--订阅模式 var event= {}; (function (q) { var topics = {}, // 回调函数存放的数组 subUid = -1; // 发布方法 q.publish= function (topic, args) { if (!topics[topic]) { return f原创 2017-10-17 12:03:38 · 313 阅读 · 0 评论 -
设计模式学习(七)
6.命令模式 // 命令模式 司令->连长{ -1>炮兵 -2>步兵 var lian={}; lian.paobing=function(pao_num){ console.log("炮兵"+pao_num); }; lian.bubing=function(bu_num){ console.log("步兵"+bu_num); }; lian.lianzhang=function(m原创 2017-12-26 10:23:49 · 146 阅读 · 0 评论