求知若饥 虚心若愚
2017-09-11
适配器模式介绍定义:适配器模式(Adapter)是将一个类(对象)的接口(方法或属性)转化成客户希望的另外一个接口(方法或属性),适配器模式使得原本由于接口不兼容而不能一起工作的那些类(对象)可以一些工作。速成包装器(wrapper)。使用场景:比如,当系统中某个接口的结构已经无法满足我们现在..
2017-09-10
发布-订阅模式(观察者模式)定义:对象间的一种一对多的关系,让多个观察者对象同时监听某一个主题对象,当一个对象发生改变时,所有依赖于它的对象都将得到通知。 现实生活中的发布-订阅模式 比如小红最近在淘宝网上看上一双鞋子,但是呢 联系到卖家后,才发现这双鞋卖光了,但是小红对这双鞋又非常喜欢..
2017-09-02
装饰者模式定义:装饰者(decorator)模式能够在不改变对象自身的基础上,在程序运行期间给对象动态的添加职责。装饰者用于通过重载方法的形式添加新功能,该模式可以在被装饰者前面或者后面加上自己的行为以达到特定的目的。与继承相比,装饰者是一种更轻便灵活的做法。 普通对象被装饰者包裹起来,就形成了..
2017-08-31
中介者模式定义:中介者模式的作用就是解除对象与对象之间的紧耦合关系。增加一个中介者对象后,所有的相关对象都通过中介者对象来通信,而不是互相引用,所以当一个对象发生改变时,只需要通知中介者对象即可。中介者使各对象之间耦合松散,而且可以独立地改变它们之间的交互。中介者模式使网状的多对多关系变成了相对..
2017-08-29
代理模式定义:为一个对象提供一个代用品或占位符,以便控制对它的访问。 代理对象和本体对象实现了同样的接口,并且会把任何方法调用传递给本体对象;举例: 图片预加载、图片懒加载、 合并HTTP请求(代理收集一定时间内的所有HTTP请求,然后一次性发给服务器)、 惰性加..
2017-08-25
策略模式定义:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。 举例:表单效验(是否为空、长度、手机号、邮箱等等) 计算年终奖(工资、效绩)下面以年终将做说明:比如公司的年终奖是根据员工的工资和绩效来考核的,绩效为A的人,年终奖为工资的4倍,绩效为B的人,年终奖为工资的3..
2017-08-24
单例模式定义:单例就是保证一个类只有一个实例,实现的方法一般是先判断实例存在与否,如果存在直接返回,如果不存在就创建了再返回,这就确保了一个类只有一个实例对象。 在JavaScript里,单例作为一个命名空间提供者,从全局命名空间里提供一个唯一的访问点来访问该对象。举例:模态框、登录控件..
2017-08-22
简单工厂定义:简单工厂模式是由一个方法来决定到底要创建哪个类的实例, 而这些实例通常都拥有相同的接口(属性和方法)。举例:计算器(加、减、乘、除) 自行车售卖(山地、公路) 饮料机(咖啡、牛奶、水) RPG中职业(战士、法师、射手)这里就以RPG中职业(战士、法师、射手)..