js设计模式
flying_huixia
希望在编程的道路上一直进步,结识更多志同道合的人!
展开
-
迭代器模式
1、概念:迭代器模式是指提供提供一种方法顺序访问一个聚合对象中的各个元素。比如,JQuery中的$.each()函数,这属于内部迭代器,由于迭代规则已经被提前规定。外部迭代器必须显式地请求迭代下一个元素。2、迭代器的应用举例 //需要上传一个文件,先得看浏览器是否有对应的上传控件,没有则看是否支持flash插件,不支持则使用最原始的浏览器表单上传 var getU...原创 2020-01-29 12:47:18 · 179 阅读 · 0 评论 -
模板方法模式和职责链模式
一、模板方法模式1、模板方法模式,基于继承的设计模式,由两部分组成,抽象父类和具体实现子类。2、例子Coffe 和 Tea//创建抽象类 -- 饮料 function Beverage(){} Beverage.prototype.boilWater = function(){ console.log("把水煮沸") } //...原创 2020-01-23 13:34:10 · 630 阅读 · 0 评论 -
适配器模式和组合模式
一、适配器模式1、作用:主要解决两个软件实体间接口不兼容的问题2、实例(1)地图渲染的适配//谷歌和百度地图的渲染地图调用的方式不一样 var googleMap = { show: function () { console.log('开始渲染谷歌地图') } } ...原创 2020-01-15 15:21:43 · 631 阅读 · 0 评论 -
发布-订阅模式
一、核心概述发布订阅模式主要包含三大块:缓存数组、订阅、发布缓存数组 一个数组[] 订阅 往数组里面压入函数fn 发布 里面循环遍历数组,然后执行数组中的函数。 二、简单代码实现及改进(1)实现 var subpub = {}; subpub.cache = []; subpub.subscribe = function(fn){ ...原创 2020-01-14 16:29:45 · 289 阅读 · 0 评论 -
单例模式、策略模式
一、单例模式1、概念保证一个类仅有一个实例,并提供一个访问它的全局访问点2、单例模式的实现 -- 以创建div节点为例var createDiv = (function(){ var instance; var createDiv = function(html){ if(instance){ return instance...原创 2020-01-09 12:37:30 · 433 阅读 · 0 评论