组合模式就是用小的子对象来构建更大的对象,而这些小的子对象也许是由更小的"孙对象"构成的。 组合模式将对象组合成树形结构,以表示"部分-整体"的层次结构。 抽象类在组合模式中的作用: 组合模式最大的优点在于可以一致地对待组合对象和基本对象。这种透明性带来的便利,在静态类型语言中体现的尤为明显。 Ja ...
分类:
编程语言 时间:
2016-10-12 11:26:37
阅读次数:
192
发布-订阅模式又叫观察者模式,它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知。 发布-订阅模式可以广泛应用于异步编程中,这是一种替代传递回调函数的方案。 可以取代对象之间硬编码的通知机制,一个对象不用再显式地调用另外一个对象的某个接口。 自定义事件 另 ...
分类:
编程语言 时间:
2016-10-09 20:23:13
阅读次数:
174
命令模式的用途: 命令模式是最简单和优雅的模式之一,命令模式中的命令(command)指的是一个执行某些特定事情的指令。 命令模式最常见的应用场景是:有时候需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是什么。此时希望用一种松耦合的方式来设计程序,使得请求发送者和请求接收 ...
分类:
编程语言 时间:
2016-10-09 20:12:58
阅读次数:
208
迭代器模式是指提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。 JavaScript中的Array.prototype.foreach. 1.JQuery中的迭代器 $.each函数 2.自己实现一个each函数 3.内部迭代器和外部迭代器内部迭代器在调用时非常方便,外 ...
分类:
编程语言 时间:
2016-10-09 20:07:49
阅读次数:
137
策略模式的定义是:定义一系列的算法,把它们一个个封转起来,并且使它们可以相互替换。 JavaScript版本的策略模式: 奖金系统: 使用策略模式实现缓动动画: 策略模式指的是定义一系列的算法,并且把它们封装起来。表单验证: 校验逻辑: 用户名不能为空 密码长度不能少于6位 手机号码必须符合格式 策 ...
分类:
编程语言 时间:
2016-10-07 22:52:51
阅读次数:
259
单例模式的定义是:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 1.实现单例模式 要实现一个标准的单例模式并不复杂,无非是用一个变量来标志当前是否已经为某个类创建过对象,如果是,则在下一次获取该类的实例时,直接返回之前创建的对象。 或者: 我们通过Singleton.getInstance ...
分类:
编程语言 时间:
2016-10-07 17:52:43
阅读次数:
151
在项目开发中经常遇到在网页上显示一些相同的样式但是内容不同的需求,而且这个需求还是动态的,随着需求的变化内容也有可能在不断的变化,对此我们推荐:工厂模式:通过对产品类的抽象使其创建业务主要用于创建多类产品的实例。 比如说有个需求,需要做两个广告,这样我们可以直接定义两个类来实现var Java = ... ...
分类:
编程语言 时间:
2016-10-07 01:12:20
阅读次数:
235
闭包(closure) 闭包的形成与变量的作用域以及变量的生存周期密切相关。 变量的作用域,就是指变量的有效范围。 全局变量和局部变量。 在JavaScript中,函数可以用来创造函数作用域。 变量的生存周期,全局变量的生命周期是永久的,除非我们主动销毁这个全局变量。 对于在函数体内用var关键字声 ...
分类:
编程语言 时间:
2016-10-06 22:51:06
阅读次数:
242
this、call和apply this的指向: this总是指向一个对象,而具体指向哪个对象是在运行时基于函数的执行环境动态绑定的,而非函数被声明时的环境。 1.作为对象的方法被调用 当函数作为对象的方法被调用时,this指向该对象 2.作为普通函数调用 此时的this总是指向全局对象。在浏览器的 ...
分类:
移动开发 时间:
2016-10-06 16:57:03
阅读次数:
224
前言 设计模式的定义是:在面向对象软件设计过程中针对特定问题的简洁而优雅的解决方案。 从某些角度来看,设计模式确实有可能带来代码量的增加,或许会把系统的逻辑搞的更复杂。但软件开发的成本并非全部在开发阶段,设计模式的作用是让人们写出可复用和可维护性高的程序。 所有设计模式的实现都遵循一条原则,即“找出 ...
分类:
编程语言 时间:
2016-10-06 12:54:51
阅读次数:
232