
设计模式
文章平均质量分 66
设计模式
静水流深,沧海一粟
皆是人间惆怅客,且有岁月可回头
展开
-
【夯实基础】《JavaScript设计模式与开发实践》笔记——面向对象的 JavaScript
JavaScript设计模式与开发实践面向对象的 JavaScript动态类型语言和鸭子类型多态封装面向对象的 JavaScript动态类型语言和鸭子类型编程语言按照数据类型大体可以分为两类静态类型语言定义:编译时便已确定变量类型的语言优点:编译时就能发现类型不匹配的错误,编辑器可以帮助我们提前 避免程序在运行期间有可能发生的一些错误在程序中明确地规定了数据类型,编译 器还可以针对这些信息对程序进行一些优化工作,提高程序执行速度缺点:依照强契约来编写程序,为每个变量规定原创 2022-03-02 16:05:16 · 700 阅读 · 0 评论 -
【夯实基础】《JavaScript设计模式与开发实践》笔记——迭代器模式
迭代器模式内部迭代器和外部迭代器内部迭代器外部迭代器迭代器模式是指提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象 5 的内部表示。迭代器模式可以把迭代的过程从业务逻辑中分离出来,在使用迭代器模式之后,即使不关心对象的内部构造,也可以按顺序访问其中的每个元素。内部迭代器和外部迭代器内部迭代器定义系统封装好。我们直接拿来用的函数优缺点内部迭代器在调用的时候非常方便,外界不用关心迭代器内部的实现,跟迭代器的交互也仅 仅是一次初始调用,但这也刚好是内部迭代器的缺点外部迭代原创 2022-04-19 18:26:26 · 128 阅读 · 0 评论 -
【夯实基础】《JavaScript设计模式与开发实践》笔记——this、call 和 apply
this、call 和 applythis、call 和 applythisthis的指向作为对象的方法调用作为普通函数调用构造器调用Function.prototype.call 或 Function.prototype.apply 调用call 和 applycall和apply的区别applycallcall和apply的用途this、call 和 applythis跟别的语言大相径庭的是,JavaScript 的 this 总是指向一个对象,而具体指向哪个对象是在运行时基于函数的执行环境动态绑原创 2022-03-03 11:17:30 · 254 阅读 · 0 评论 -
【夯实基础】《JavaScript设计模式与开发实践》笔记——代理模式
代理模式保护代理虚拟代理缓存代理防火墙代理远程代理智能引用代理写时复制代理定义为一个对象提供一个代用品或占位符,以便控制对它的访问关键当客户不方便直接访问一个对象或者不满足需要的时候,提供一个替身 对象来控制对这个对象的访问,客户实际上访问的是替身对象。替身对象对请求做出一些处理之 后,再把请求转交给本体对象。保护代理代理 B 可以帮助 A 过滤掉一些请求,比如送花的人中年龄太大的或者没有宝马的,这种请求就可以直接在代理 B 处被拒绝掉。这种代理叫作保护代理作用用于控制不同权限的对原创 2022-04-19 16:51:06 · 128 阅读 · 0 评论 -
【夯实基础】《JavaScript设计模式与开发实践》笔记——闭包和高阶函数
虽然 JavaScript 是一门完整的面向对象的编程语言,但这门语言同时也拥有许多函数式语言的特性。函数式语言的鼻祖是 LISP,JavaScript 在设计之初参考了 LISP 两大方言之一的 Scheme,引 入了 Lambda 表达式、闭包、高阶函数等特性。使用这些特性,我们经常可以用一些灵活而巧妙 的方式来编写 JavaScript 代码。闭包和高阶函数闭包变量的作用域变量的生存周期闭包变量的作用域定义:变量的作用域,就是指变量的有效范围注意:如果没有使用关键字 var 声明.原创 2022-03-22 18:23:32 · 1237 阅读 · 0 评论 -
【夯实基础】《JavaScript设计模式与开发实践》笔记——策略模式
策略模式定义是:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。目的就是将算法的使用与算法的实现分离开来组成一组策略类策略类封装了具体的算法,并负责具体的计算过程。环境类 ContexContext 接受客户的请求,随后 把请求委托给某一个策略类。要做到这点,说明 Context 中要维持对某个策略对象的引用。优点策略模式利用组合、委托和多态等技术和思想,可以有效地避免多重条件选择语句策略模式提供了对开放—封闭原则的完美支持,将算法封装在独立的 strategy原创 2022-03-29 18:55:32 · 925 阅读 · 0 评论 -
【夯实基础】《JavaScript设计模式与开发实践》笔记——单例模式
单例模式单例模式实现单例模式三级目录单例模式单例模式的定义是:保证一个类仅有一个实例,并提供一个访问它的全局访问点。单例模式是一种常用的模式,有一些对象我们往往只需要一个,比如线程池、全局缓存、浏 览器中的 window 对象等。在 JavaScript 开发中,单例模式的用途同样非常广泛。试想一下,当我 们单击登录按钮的时候,页面中会出现一个登录浮窗,而这个登录浮窗是唯一的,无论单击多少 次登录按钮,这个浮窗都只会被创建一次,那么这个登录浮窗就适合用单例模式来创建。实现单例模式三级目录.原创 2022-03-28 16:16:03 · 899 阅读 · 0 评论 -
【夯实基础】《JavaScript设计模式与开发实践》笔记——发布—订阅模式
发布—订阅模式发布—订阅模式又叫观察者模式,它定义对象间的一种一对多的依赖关系,当一个对象的状 态发生改变时,所有依赖于它的对象都将得到通知。在 JavaScript 开发中,我们一般用事件模型 来替代传统的发布—订阅模式。作用可以广泛应用于异步编程中,这是一种替代传递回调函数的方案。比如,我们可以订阅 ajax 请求的 error、succ 等事件。 或者如果想在动画的每一帧完成之后做一 些事情,那我们可以订阅一个事件,然后在动画的每一帧完成之后发布这个事件。在异步编程中 使用发布—订阅模原创 2022-04-21 11:01:14 · 1227 阅读 · 0 评论