摘要:
组合模式 将对象组合成树形结构,以表示‘部分-整体’的层次结构;遍历树形结构的操作只需要一次操作; 利用对象多态性的统一对待组合对象和单个对象,不用关心他们的不同; 像命令模式中宏命令就是一种组合模式; 请求在树中传递的过程; 如果子节点是叶节点,叶对象自身会处理这个请求;如果还是组合对象则继续往下 阅读全文
摘要:
享元模式 是一种用于性能优化的模式; 核心是运用共享技术来有效支持大量细粒度的对象,避免对象间拥有相同的内容造成多余的开销; 内部状态和外部状态 享元模式要求对象的属性划分为内部状态和外部状态; 目标是减少共享对象的数量; 内部状态存储于对象内部; 内部状态可以被一些对象共享; 内部状态独立于具体的 阅读全文
摘要:
观察者模式 又叫发布订阅模式,定义对象间一对多的依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都得到通知; JS开发中,一般用事件模型替代传统的发布-订阅模式 作用 可以广泛应用于异步编程中,替代传统回调函数;如订阅 请求的 事件; 取代对象之间硬编码的通知机制,一个对象不再显示地调用另一个 阅读全文
摘要:
代理模式 为一个对象提供一个代用品或占位符。以便控制对他的访问; 面向对象设计原则-单一职责原则 就一个类(对象,函数)而言,应该仅有一个引起他变化的原因;(低耦合) 代理和本体借口的一致性 当不需要代理的时候可以替换回本体 保护代理 过滤请求;可以用于控制不同权限对象对目标对象的访问 虚拟代理 把 阅读全文
摘要:
单例模式 保证一个类只有一个实例,并提供一个访问他的全局访问点; 模拟单例实现 传统方式: 代理实现: JS中的单例模式 传统模式中单例对象从类中创建而来,但JS其实并无类; 抓做单例模式核心:确保只有一个可全局访问的实例;可以用更符合JS的方式创建 使用命名空间 适当使用全局命名空间 动态创建命名 阅读全文
摘要:
工厂模式 简单工厂模式 创建同一类的对象; 通过一个对象来代替 工厂方法模式 创建多类; 将实际创建对象工作推迟到子类当中; 抽象工厂模式 创建的不是对象实例,而是一个类簇; 汽车模型例子: 创建者模式 将一个复杂对象的构建层和表示层分离; 工厂模式不关心过程而关心最后的产出,建造者模式更关注创建的 阅读全文
摘要:
对象 常用产生 一般对象; 函数对象; 类; 多态: 简介: 同一操作用于不同对象可以产生不同的结果; 背后的思想:将不变的事与可能变的事分开,封装;关键是消除类型之间的耦合; 实现: 一般语言:常用继承,向上转型来表现对象的多态特性; JS:由于本身的的特征,不存在类型耦合的问题; 作用:通过把过 阅读全文