![](https://img-blog.csdnimg.cn/20200405120851953.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JavaScript设计模式与开发实践
《JavaScript设计模式与开发实践》的读书笔记
哈哩噜啾啾哈呀呀
这个作者很懒,什么都没留下…
展开
-
发布-订阅模式
发布—订阅模式又叫观察者模式,它定义对象间的一种一对多的依赖关系,当一个对象的状 态发生改变时,所有依赖于它的对象都将得到通知。在 JavaScript开发中,我们一般用事件模型 来替代传统的发布—订阅模式。发布—订阅模式可以广泛应用于异步编程中,这是一种替代传递回调函数的方案。 比如,我们可以订阅 ajax请求的 error、succ 等事件。 在异步编程中 使用发布—订阅模式,我们就无需过多...原创 2020-04-06 19:53:58 · 175 阅读 · 0 评论 -
迭代器模式
迭代器模式是指提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象 的内部表示。迭代器模式可以把迭代的过程从业务逻辑中分离出来,在使用迭代器模式之后,即 使不关心对象的内部构造,也可以按顺序访问其中的每个元素。内部迭代器和外部迭代器迭代器可以分为内部迭代器和外部迭代器,它们有各自的适用场景。内部迭代器内部已经定义好了迭代规则,它完 全接手整个迭代过程,外部只需要一次初始调用。...原创 2020-04-05 22:08:37 · 179 阅读 · 0 评论 -
单例模式
**单例模式的定义是:**保证一个类仅有一个实例,并提供一个访问它的全局访问点。有一些对象我们往往只需要一个,比如线程池、全局缓存、浏览器中的 window 对象等。单例模式的核心是确保只有一个实例,并提供全局访问。实现单例模式要实现一个标准的单例模式并不复杂,无非是用一个变量来标志当前是否已经为某个类创建 过对象,如果是,则在下一次获取该类的实例时,直接返回之前创建的对象。用代理实现单...原创 2020-04-05 12:20:53 · 57 阅读 · 0 评论 -
代理模式
代理模式是为一个对象提供一个代用品或占位符,以便控制对它的访问。保护代理和虚拟代理代理 B 可以帮助 A 过滤掉一些请求,这种请求就可以直接在代理 B 处被拒绝掉。这种代理叫作保护代理。虚拟代理把一些开销很大的对象,延迟到 真正需要它的时候才去创建。保护代理用于控制不同权限的对象对目标对象的访问,但在 JavaScript并不容易实现保护代 理,因为我们无法判断谁访问了某个对象。而虚拟...原创 2020-04-05 12:20:06 · 55 阅读 · 0 评论 -
策略模式
**策略模式的定义是:**定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。一个基于策略模式的程序至少由两部分组成。第一个部分是一组策略类,策略类封装了具体 的算法,并负责具体的计算过程。 第二个部分是环境类 Context,Context接受客户的请求,随后 把请求委托给某一个策略类。要做到这点,说明 Context中要维持对某个策略对象的引用。用策略模式设计计算年终奖的...原创 2020-04-05 12:18:50 · 85 阅读 · 0 评论