JavaScript设计模式
爬虫组的小前端
这个作者很懒,什么都没留下…
展开
-
JavaScript设计模式-----模板方法模式
1.模板方法模式的定义和组成:假如我们有一些平行的子类,各个子类之间有一些相同的行为,也有一些不同的行为,如果相同和不同的行为都混合在各个子类的实现中,说明这些相同的行为会在各个子类中重复出现。但实际上,相同的行为可以被搬移到另一个单一的地方,模板方法模式就是为了解决这个问题而生的,在模板方法模式中,子类的实现中的相同部分被上移到父类中,而将不同的部分留待子类来实现。这也很好的体现了泛化的思想。2...原创 2018-05-12 16:08:36 · 169 阅读 · 0 评论 -
JavaScript设计模式-----组合模式
1.组合模式的定义:组合模式就是用小的子对象来构建更大的对象,而这些小的对象本身也许是由更小的”孙对象“构成2.组合模式的用途:组合模式将对象组合成树形结构,以表示”部分-整体“的层次结构。除了用来表示树形结构之外,组合模式的另一个好处是通过对象的多态性表示,使得用户对单个对象和组合对象的使用具有一致性。3.更强大的宏命令:这个例子中,基本对象可以被组合成更复杂的组合对象,组合对象又可以被组合,这...原创 2018-05-05 14:16:18 · 227 阅读 · 0 评论 -
JavaScript设计模式-----命令模式
1.命令模式的应用场景:有时候需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是什么,此时希望用一种松耦合的方式来设计软件,使得请求的发送者和请求的接收者能够消除彼此之间的耦合关系。2.命令模式的实现:命令模式将过程式的请求封装在command对象的execute方法里,通过封装方法的调用,我们可以把运算块包装成形。command对象可以被四处传递,所以在调用命令时,cl...原创 2018-04-17 16:58:42 · 193 阅读 · 0 评论 -
JavaScript设计模式-----发布订阅模式
1.发布订阅模式的定义:发布订阅模式又叫观察者模式,它定义对象间的一种一对多的依赖关系,当一个对象的状态发生变化时,所有依赖于他的对象都将得到通知。2.发布订阅模式的通用实现:3.一个真实的例子:ajax异步请求获取用户的登陆信息后,渲染到各个板块,使用这个模式可以解耦合,各个模块自行订阅登陆成功后的消息事件,当登陆成功后,登陆模块只需要发布登陆成功的消息,而业务方接收到消息后,就会开始进行各自的...原创 2018-04-15 10:58:25 · 244 阅读 · 0 评论 -
JavaScript设计模式-----迭代器模式
1.迭代器模式的定义:迭代器模式是指提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示,迭代器模式可以把迭代的过程从业务逻辑中分离出来,在使用迭代器模式后,即不用关心对象的内部构造,也可以按顺序访问其中的每个元素。2.内部迭代器和外部迭代器:使用迭代器判断两个数组里元素的值是否相等内部迭代器:内部迭代器在调用的时候非常方便,外界不用关心内部迭代器的实现,但由于内部迭代器的...原创 2018-04-12 10:28:44 · 175 阅读 · 0 评论 -
JavaScript设计模式-----代理模式
1.代理模式的定义:代理模式是为一个对象提供一个代用品或占位符,以便控制对他的访问保护代理,代理B能帮A过滤掉一些请求。虚拟代理:把一些开销很大的对象延迟到真正需要它的时候才去创建2.虚拟代理实现图片的预加载:在开发中图片预加载是一种技术,先用一张loading的图片站位,然后用异步的方式加载图片,等图片加载好了把他填充到img节点里,这种场景就适合使用虚拟代理3.代理的意义:面向对象设计的原则:...原创 2018-04-10 20:07:51 · 194 阅读 · 0 评论 -
JavaScript设计模式-----策略模式
1.策略模式的定义:定义一系列的算法,将他们一个个封装起来,并且使他们可以互相替换,他的目的是将算法的使用和算法的实现分离开,通俗的讲就是:定义一系列算法,将他们各自封装成策略类,算法被封装在策略内部的方法里,在客户对context发起请求时,context总是把请求委托给这些策略对象中间的某一个进行计算2.JavaScript版的策略模式我们可以用一个名为calculate的函数来计算每个人的奖...原创 2018-03-07 10:22:19 · 183 阅读 · 0 评论 -
JavaScript设计模式 ----- 单例模式
单例模式:保证一个类只有一个实例,并提供一个访问他的全局变量访问点1.实现一个单例类不复杂,用一个变量来标识当前是否为这个类创建过实例,如果是,则在下次获取该例的实例时,直接返回之前创建过的对象。2.惰性单例在需要的时候再创建对象实例。...原创 2018-02-21 17:24:26 · 180 阅读 · 0 评论