摘要: 链模式 解析jQuery 通过 直接返回其原型方法; 添加初始化获取节点方法,并链式返回; 覆盖获取 之前没次返回的都是同一个对象,会覆盖; 使用构造函数, 返回的类型为 ; 注意此时返回的 就不再指向 ,再设置 ; 修改构造器: 丰富元素获取 JS是弱类型语言,并没有纯粹的数组类型,JS引擎的实现 阅读全文
posted @ 2015-10-19 23:41 JinksPeng 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 数据访问对象模式 本地数据访问例子 节流模式 对重复的业务逻辑进行节流控制,执行最后一次操作病取消其他操作; 节流器 页面滚动例子 优化浮层 当光标划入和划出容器时,为避免是用户误操作,应该使用节流器延迟操作; 图片延迟加载优化 目标是使可视范围内的图片优先加载; 先将获取的 设置到图片的 ,再延迟 阅读全文
posted @ 2015-10-19 23:40 JinksPeng 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 访问者模式 针对对象结构中的元素,定义在不改变对象前提下访问结构元素的新方法; 对象访问器例子 备忘录模式 在不破坏对象封装性前提下,在对象之外捕获并保存该对象内部的状态以便日后使用或恢复到某个状态; 新闻页面缓存器例子 缓存数据可以减轻重复性请求数据的压力; 但数据量过大时需要考略缓存的优化或限制 阅读全文
posted @ 2015-10-19 23:39 JinksPeng 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 中介者模式 解除对象与对象之间的耦合关系;增加一个中介者后,所有的对象都可以通过中介者通信而不是互相引用; 中介者模式例子 游戏 购买商品 var goods = { 'red|32G': 3, 'red|16G': 0, 'blue|32G': 1, 'blue|16G': 6 }; var me 阅读全文
posted @ 2015-10-19 23:38 JinksPeng 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 状态模式 状态模式的关键是把事物的每种状态都封装成单独的类,跟此种状态有关的行为都被封装在这个类内部;当内部状态改变时,会带来不同的行为变化; 电灯开关的例子 JS版本的状态机器 JS是无类的,没有规定让状态对象一定要从类中创建而来;此外JS可以非常方便地使用委托技术,并不需要要事先让一个对象持有另 阅读全文
posted @ 2015-10-19 23:38 JinksPeng 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 组合模式 将对象组合成树形结构,以表示‘部分-整体’的层次结构;遍历树形结构的操作只需要一次操作; 利用对象多态性的统一对待组合对象和单个对象,不用关心他们的不同; 像命令模式中宏命令就是一种组合模式; 请求在树中传递的过程; 如果子节点是叶节点,叶对象自身会处理这个请求;如果还是组合对象则继续往下 阅读全文
posted @ 2015-10-19 23:36 JinksPeng 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 享元模式 是一种用于性能优化的模式; 核心是运用共享技术来有效支持大量细粒度的对象,避免对象间拥有相同的内容造成多余的开销; 内部状态和外部状态 享元模式要求对象的属性划分为内部状态和外部状态; 目标是减少共享对象的数量; 内部状态存储于对象内部; 内部状态可以被一些对象共享; 内部状态独立于具体的 阅读全文
posted @ 2015-10-19 23:35 JinksPeng 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 观察者模式 又叫发布订阅模式,定义对象间一对多的依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都得到通知; JS开发中,一般用事件模型替代传统的发布-订阅模式 作用 可以广泛应用于异步编程中,替代传统回调函数;如订阅 请求的 事件; 取代对象之间硬编码的通知机制,一个对象不再显示地调用另一个 阅读全文
posted @ 2015-10-19 23:34 JinksPeng 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 代理模式 为一个对象提供一个代用品或占位符。以便控制对他的访问; 面向对象设计原则-单一职责原则 就一个类(对象,函数)而言,应该仅有一个引起他变化的原因;(低耦合) 代理和本体借口的一致性 当不需要代理的时候可以替换回本体 保护代理 过滤请求;可以用于控制不同权限对象对目标对象的访问 虚拟代理 把 阅读全文
posted @ 2015-10-19 23:33 JinksPeng 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 单例模式 保证一个类只有一个实例,并提供一个访问他的全局访问点; 模拟单例实现 传统方式: 代理实现: JS中的单例模式 传统模式中单例对象从类中创建而来,但JS其实并无类; 抓做单例模式核心:确保只有一个可全局访问的实例;可以用更符合JS的方式创建 使用命名空间 适当使用全局命名空间 动态创建命名 阅读全文
posted @ 2015-10-19 23:31 JinksPeng 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 工厂模式 简单工厂模式 创建同一类的对象; 通过一个对象来代替 工厂方法模式 创建多类; 将实际创建对象工作推迟到子类当中; 抽象工厂模式 创建的不是对象实例,而是一个类簇; 汽车模型例子: 创建者模式 将一个复杂对象的构建层和表示层分离; 工厂模式不关心过程而关心最后的产出,建造者模式更关注创建的 阅读全文
posted @ 2015-10-19 23:30 JinksPeng 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 对象 常用产生 一般对象; 函数对象; 类; 多态: 简介: 同一操作用于不同对象可以产生不同的结果; 背后的思想:将不变的事与可能变的事分开,封装;关键是消除类型之间的耦合; 实现: 一般语言:常用继承,向上转型来表现对象的多态特性; JS:由于本身的的特征,不存在类型耦合的问题; 作用:通过把过 阅读全文
posted @ 2015-10-19 23:28 JinksPeng 阅读(234) 评论(0) 推荐(0) 编辑