自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

转载 JavaScript设计模式_14_适配器模式

适配器模式是一种相对简单的设计模式,它的出现主要是为了解决两个软件接口不统一的问题。/** * pre:适配器模式 *///----------- 示例1 ----------/** * 有一个地图渲染器,可以渲染百度地图,也可以渲染谷歌地图。 * 但百度地图提供的接口是display方法,谷歌是show方法,为了统一,我们写一个百度地图适配器。 * ...

2017-06-22 16:41:00 87

转载 JavaScript设计模式_13_状态模式

状态模式是一种根据事物内部状态的改变,从而改变事物行为的一种模式。/** * pre:状态模式 *///---------- 示例1 ----------------/** * 模拟电灯开关 */var Light = function() { this.state = "off"; this.button = null;};...

2017-06-22 15:55:00 78

转载 JavaScript设计模式_12_装饰者模式

给对象动态增加职责的方式称为装饰者模式。装饰者模式能够在不改变对象自身的基础上,在程序运行期间给对象动态地添职责。相比于继承方式,装饰者模式更轻便、更灵活,给人一种“即用即付”的感觉。/** * pre:装饰者模式 * 在不改变原有对象的基础上,给对象增加一些职责 *///--------- 示例1 -----------var func = function...

2017-06-22 15:29:00 90

转载 JavaScript设计模式_11_中介者模式

  在我们生活的世界中,每个人每个物体之间都会产生一些错综复杂的联系。在应用程序里也是一样,程序由大大小小的单一对象组成,所有这些对象都按照某种关系和规则来通信。如下图1所示:图1  中介者模式的作用就是解除对象与对象之间的紧耦合关系。增加一个中介者对象后,所有的相关对象都通过中介者对象来通信,而不是互相引用,所以当一个对象发生改变时,只需要通知中介者对象即可。中介者使各...

2017-06-21 09:37:00 87

转载 JavaScript设计模式_09_享元模式

享元模式属于一种性能优化模式。当前端需要创建大量的js对象时,可以考虑使用这种模式进行优化。尤其是移动端,对内存的占用要求比较高,所以,如何节省内存就变成了一件非常有意义的事情。/** * pre:享元模式:一种性能优化模式 * 使用共享技术来有效支持大量细粒度的对象 *///--------- 示例1 -----------/* * 有一家内衣工厂,生产...

2017-06-20 15:05:00 85

转载 JavaScript设计模式_08_模板方法模式

模板方法模式是一种最能体现JavaScript继承的一种设计模式。实现起来也比较简单。由两部分组成,一是抽象父类,另一个是具体的实现子类。在抽象父类中封装了子类的算法框架,包括实现一些公共方法以及封装子类中所有方法的执行顺序。子类通过继承这个抽象类,也继承了整个算法结构,并且可以选择重写父类的方法。/** * pre:模板方法模式 * 1、一种基于继承的设计模式 * ...

2017-06-20 14:56:00 55

转载 JavaScript设计模式_07_组合模式

组合模式将对象组合成树形结构,以表示“部分-整体”的层次结构。并通过对象的多态性表现,使得用户对单个对象和组合对象的使用具有一致性。/** * pre:组合模式 *///--------- 示例1 ---------/* 更强大的宏命令 */var MarcoCmd = function() { var cmdList = [], ...

2017-06-19 17:10:00 55

转载 JavaScript设计模式_06_命令模式

命令模式是比较简答的设计模式,它最常应用于以下场景:有时候需要向某些对象发送请求,但是并不知道请求接收者是谁,也不知道被请求的操作是什么。这时希望用一种松耦合的方式来设计程序,使得请求发送者和接受者能消除彼此之间的耦合关系。/** * pre: 命令模式 * *///-------------- 示例1 ---------------/** * 例如页面...

2017-06-19 17:02:00 62

转载 JavaScript设计模式_05_发布订阅模式

发布-订阅模式,定义了对象间的一种一对多的依赖关系,当一个对象的状态发生变化时,所有依赖它的对象都将得到通知。发布-订阅模式是使用比较广泛的一种模式,尤其是在异步编程中。/* * pre:发布-订阅模式 * 一种一对多的关系 */// ------ 示例1 ----------/** * 示例:售楼处售楼,购买者询问价格,售楼MM每天要接N多个电话,内容大...

2017-06-13 10:18:00 90

转载 JavaScript设计模式_04_迭代器模式

迭代器模式属于一种比较简单的设计模式,许多开发语言都内置了迭代器。这里要说的是迭代器分为内部迭代器和外部迭代器,它们都有各自的适用场景。/* pre:迭代器模式 * 迭代器模式提供了一种顺序访问聚合元素内部对象的方法,而又不需要暴露对象内部的表示。 *///-------- 示例1 --------/** * 内部迭代器:内部函数已经定义好迭代的规则,外部只需...

2017-06-12 17:37:00 68

转载 JavaScript设计模式_02_策略模式

在程序设计中,我们常常遇到这种情况,要实现某一个功能我们有很多种算法可以实现。这些算法灵活多样,而且可以随意互相替换。这种解决方案就是所谓的策略模式。/* * pre:策略模式 * 示例:公司计算奖金,分A、B、C 三种绩效,计算方式如下 * 绩效为A,奖金乘以系数5 * 绩效为B,奖金乘以系数4 * 绩效为C,奖金乘以系数3 *///--------...

2017-06-09 10:12:00 84

转载 JavaScript设计模式_01_单例模式

最近项目不太忙,难得有时间看看书,平时挺喜欢js这门语言。也看过很多高级教程,觉得自己还是比较热衷于js的设计模式。这一次重温一下《JavaScript设计模式与开发实践》,开篇为单例模式。/** * pre 单例模式 * 定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点 * 应用:单例模式是一种常用的模式,有一些对象我们往往只需要一个, * 比如线程池...

2017-06-09 10:04:00 85

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除