设计模式
文章平均质量分 50
旺仔流奶
从现在开始努力也不算太晚
展开
-
《JavaScript 设计模式与开发实践》 学习笔记 【第八章:发布-订阅模式(观察者模式)】
定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将会得到通知。 在JavaScript开发中,我们一般用事件模型来替代传统的发布-订阅模式。 自定义事件: 取消订阅: 全局的发布-订阅对象: 模块间通信: 必须先订阅再发布吗? ...原创 2022-01-10 15:56:44 · 358 阅读 · 0 评论 -
《JavaScript 设计模式与开发实践》 学习笔记 【第七章:迭代器模式】
迭代器模式: 提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。 迭代器模式可以将迭代过程从业务逻辑中分离出来。 在使用迭代器模式后,及时不关心对象的内部构造,也可以按照顺序访问其中的每个元素。 内部迭代器和外部迭代器: 1.内部迭代器:内部定义好迭代规则,完全接收整个迭代过程,外部值需要一次初始调用。 例如foreach,map等。 优点:调用方便,外接不关心迭代器内部实现,和迭代器的交互也仅仅是一次初始调用。 缺点:迭代规则被提前规定,无法灵活操控。无原创 2022-01-10 15:11:46 · 239 阅读 · 0 评论 -
《JavaScript 设计模式与开发实践》 学习笔记 【第四章:单例模式】
第四章:单例模式 单例模式定义:保证一个类仅有一个实例,并且提供一个访问它的全局访问点。 实现: 透明的单例类: 用户从这个类中创建对象时,可以像使用其他任何普通类一样。 用代理实现单例模式: 通过引用代理类的方式,完成一个单例模式, 我们将负责管理单例的逻辑移到了代理类proxySingletonCreateDiv 中。这样组合使用更具有普遍性。 JavaScript的单例模式: 单例模式的核心:确保只有一个实例,并提供全局访问。 单例:全局变量?原创 2022-01-07 16:42:11 · 495 阅读 · 0 评论 -
《JavaScript 设计模式与开发实践》 学习笔记 【第三章:闭包和高阶函数】
第三章:闭包和高阶函数 闭包的形成与 变量的作用域 和 变量的生存周期密切相关。 变量的作用域:var 函数作用域, let(ES6)后才有块作用域。 ES5中 函数可以用来创造函数作用域,如果当前作用域找不到某变量,会沿着作用域链一直向上找。 变量的生存周期: 全局变量生存周期是永久的,除非我们主动销毁。 局部变量,如果在函数内声明,当退出函数,这些局部变量就会随着函数调用结束销毁。 但是: 如果函数返回了一个匿名函数的引用,还可以访问到函数被调用时产生的环境,那么这些局部变量就会一原创 2022-01-07 14:47:53 · 328 阅读 · 0 评论 -
《JavaScript 设计模式与开发实践》 学习笔记 【第一章:面向对象的JavaScript】
第一章:面向对象的JavaScript 动态类型语言 和 静态类型语言: 静态类型语言:编译时就确定变量的类型等,需要标注类型。 动态类型语言: 编译时无法确定变量类型,只有到执行的时候才能知晓。 多态 : 定义:同一个操作作用于不同的对象上时,可以产生不同的解释和不同的执行结果。 (给不同对象发送同一个消息时,对象会根据这个消息分别给出不同的反馈) 静态类型语言中的多态: 会进行类型检查,所以需要 向上转型,使用超类,(麻雀和 喜鹊 飞 --> 超类为鸟 )原创 2022-01-06 15:40:01 · 460 阅读 · 0 评论