摘要: 享元(flyweight)模式的主要作用:性能优化。 当系统创建过多相似的对象而导致内存占用过高,可以采用这种设计模式进行优化。 阅读全文
posted @ 2019-02-12 21:06 死亡之翼death 阅读(219) 评论(0) 推荐(0)
摘要: 分类 内部迭代器 用方法取代for循环 外部迭代器 为对象添加属性,以实现:1、访问下一个元素next();2、是否遍历完isDone();3、获取当前元素:getCurrentItem(); 即 const Iterator = function(obj) { ...定义 return { nex 阅读全文
posted @ 2019-01-08 09:48 死亡之翼death 阅读(144) 评论(0) 推荐(0)
摘要: 使用场景 1、对象存在整体-部分的结构,如树、数组等; 2、使用者希望对数据结构中的所有对象统一处理。 阅读全文
posted @ 2019-01-06 23:31 死亡之翼death 阅读(170) 评论(0) 推荐(0)
摘要: 有必要使用命令模式的情况: 情景1 现在要定义一个方法来给别人用,但你暂时还不知道这个方法谁来调用,别人也不知道你的方法名。因此需要将这个方法定义成一个通用的名称,如execute。 情景2 (批量)执行一些动作,并且这些动作还可能撤回、重做。 阅读全文
posted @ 2019-01-05 23:36 死亡之翼death 阅读(192) 评论(0) 推荐(0)
摘要: 主要作用:A对象的某个方法可以执行某项操作,但如果想在A对象执行之前做些事情,而又不改变A对象,可以先让B对象做一些事情,再把做处理过的结果给A对象执行。 需要注意的问题:接口的一致性,即B的方法名和A的方法名要一致。 应用场合:图片预加载、合并HTTP请求、惰性加载、缓存代理等。 阅读全文
posted @ 2019-01-03 00:53 死亡之翼death 阅读(131) 评论(0) 推荐(0)
摘要: 构成:策略类、环境类;作用:替换掉 if-else语句;应用场景举例:根据不同的情况,要调用不同的策略方法,如表单各种规则校验。 阅读全文
posted @ 2019-01-03 00:43 死亡之翼death 阅读(136) 评论(0) 推荐(0)