08 2016 档案

摘要:模板方法模式是一种只需使用继承就可以实现的非常简单的模式。 模板方法模式由两部分结构组成,第一部分是抽象父类,第二部分是具体实现子类。通常在抽象父类中封装了子类的算法框架,包括实现一些公共方法以及封装子类中所有方法的执行顺序。子类通过继承这个抽象类,也继承了整个算法结构,并且可以选择重写父类的方法。 阅读全文
posted @ 2016-08-31 16:52 西风.烈马 阅读(155) 评论(0) 推荐(0)
摘要:组合模式的用途: 1.组合模式将对象组合成树形结构,以表示“部分-整体”的层次结构。 2.利用对象多态性统一对待组合对象和单个对象。在组合模式中,客户将统一地使用组合结构中的所有对象,而不需要关心它究竟是组合对象还是单个对象 这在实际开发中给客户带来很大的便利性,当我们往万能遥控器里面添加一个命令的 阅读全文
posted @ 2016-08-31 10:28 西风.烈马 阅读(261) 评论(0) 推荐(0)
摘要:观察者模式又叫发布-订阅模式,它定义对象间的一对多的依赖关系,当一个对象的状态发生该变时,所有依赖于它的对象都将得到通知。在JavaScript中,一般用事件模型来替代传统的观察者模式。 下面是售楼处(发布者)与各看房者(订阅者)的例子: var event = { clientList:[], / 阅读全文
posted @ 2016-08-29 16:44 西风.烈马 阅读(474) 评论(0) 推荐(0)
摘要:代理模式是为一个对象提供一个某种功能的替代品,以便控制对它的访问。 在现实生活中,代理模式也是一种非常有意义的模式。比如,演艺明星都有经纪人,经纪人就是他们的代理人。房产中介,婚姻中介,法律顾问等。 保护代理和虚拟代理: 代理将外界的某些信息进行过滤,只有对被代理对象有利、有用的信息才转送给被代理对 阅读全文
posted @ 2016-08-26 15:44 西风.烈马 阅读(241) 评论(0) 推荐(0)
摘要:策略模式的定义是:定义一系列的算法,把它们都封装起来,并使它们可以互相替换。 实例一:使用策略模式计算奖金 很多公司的年终奖是根据员工的工资基数和年底绩效情况来发放的。例如,绩效为S的人年终奖有4倍工资,绩效为A的人年终奖为3倍工资,绩效为B的人年终奖为2倍工资。代码的最初实现为: var calc 阅读全文
posted @ 2016-08-25 15:58 西风.烈马 阅读(132) 评论(0) 推荐(0)
摘要:单例模式的定义:保证一个类只有一个实例,并提供一个访问它的全局访问点。 单例模式是一种常用的设计模式,有些对象我们只需要一个,比如线程池、全局缓存、浏览器中的window对象等。在JavaScript中,单例模式同样应用广泛。 例如下面的代码负责在页面中创建唯一的div: var CreateDiv 阅读全文
posted @ 2016-08-24 15:30 西风.烈马 阅读(216) 评论(0) 推荐(0)