06 2017 档案

装饰者模式
摘要:装饰者与继承的区别? 使用继承,完成一些复用的功能,有可能创建出大量的子类。 例:4种不同类型的自行车。假设需要给他们分别装上 前灯,尾灯,铃铛3种配件。3*4=12个子类。。 若将配件以对象动态组合到自行车,只需增加3个类。??有“即用即付” 方式? 装饰者:将一个对象嵌入另一个对象之中,形成一条 阅读全文

posted @ 2017-06-28 17:22 rainbow661314 阅读(142) 评论(0) 推荐(0)

中介者模式
摘要:优点:解除对象与对象之间的紧耦合关系。增加一个中介者对象,让所有对象都通过中介者对象来通信。 规则:结构: 最少知识原则,指一个对象应该尽可能少地了解另外的对象。如果对象耦合性太高,一个对象发生变化后,难免会影响到其他对象,“城门失火,殃及池鱼”。 而中介者里,对象几乎不知道彼此的存在。 创建中介者 阅读全文

posted @ 2017-06-28 16:06 rainbow661314 阅读(114) 评论(0) 推荐(0)

职责链模式
摘要:按顺序传递 if,else if else if else 的职责链。 最大的优点:弱化了发送者和一组接收者之间的强联系。 定义:每个对象都只负责往下面的 的对象抛请求。最后把函数包装进职责链节点。 优点:解耦链请求发送者和N个接收者之间的复杂关系。只有把请求传递给第一个节点即可。可拆卸和新增任意节 阅读全文

posted @ 2017-06-28 15:08 rainbow661314 阅读(92) 评论(0) 推荐(0)

发布订阅模式
摘要:我是一个传达者,一个等待实现功能者,当功能实现时,不需要多对象来催烦我,我只需要遍历通知到 订阅者。 1.广泛应用与 异步编程中,替代传递回调函数的方案。 2.将订阅者与发布者 解耦。取代代码之间硬编码的通知机制。 阅读全文

posted @ 2017-06-28 11:28 rainbow661314 阅读(119) 评论(0) 推荐(0)

迭代器模式
摘要:1.内部迭代器: 应用示例: 当选择是 浏览器支持的方法,选择不同的方法上传。 二。外部迭代器 阅读全文

posted @ 2017-06-28 11:00 rainbow661314 阅读(81) 评论(0) 推荐(0)

命令模式
摘要:某些对象发送请求,但是并不知道请求的接受者是谁,也不知道被请求的操作是什么。 所以需要 松耦合的方式来设计,使得请求发送者和请求接收者能够消除彼此之间的耦合关系。 同时,命令模式还具备支持 撤销、排队等操作。 二。宏命令。与组合模式 相同感觉。 阅读全文

posted @ 2017-06-27 22:30 rainbow661314 阅读(80) 评论(0) 推荐(0)

适配器模式
摘要:别名是 包装器。 主要是用来解决两个已有接口之间不匹配的问题。 阅读全文

posted @ 2017-06-27 22:02 rainbow661314 阅读(70) 评论(0) 推荐(0)

状态模式
摘要:允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。(开关灯) 状态模式的通用结构: 在一个Light的构造函数中,我们要创建每一个状态类的实例对象,Context将持有这些状态对象引用,以便把请求委托给状态对象。 为避免一个对象遗漏方法的 技巧是: JavaScript版本的状 阅读全文

posted @ 2017-06-27 21:47 rainbow661314 阅读(128) 评论(0) 推荐(0)

代理模式
摘要:代理: 不方便直接访问某个对象的时候。。 中间代理会对直接目的对象 更熟悉,有交道。可以时刻监听目的对象的状态。从而从初始对象的“花”传给目的对象。 代理模式:有单一模式的优点。 单一原则:仅有一个引起它变化的原因。如果有多个变化引起改变,容易将职责耦合在一块,导致耦合脆弱,低内聚。 虚拟代理:例子 阅读全文

posted @ 2017-06-02 18:34 rainbow661314 阅读(108) 评论(0) 推荐(0)

策略模式
摘要:将变化的抽离出来,行为抽离出来,统一动作。 将使用和具体实现分离开来。 策略 模式(表单验证,缓动动画)——更换一种出行方式。 至少2部分组成:1组策略类(封装了具体的实现算法)+ 环境类Context(接受客户请求,随后把请求委托给某一策略类)。 初始问题: 1.if else类似逻辑函数庞大。2 阅读全文

posted @ 2017-06-02 18:26 rainbow661314 阅读(97) 评论(0) 推荐(0)

JS设计模式基础
摘要:设计模式: 通过封装、继承、多态、组合等技术的反复使用,提炼出一些可重复使用的面向对象设计技巧。 1.多态(’做什么‘和’谁去做‘分开) 多态指同一个实体同时具有多种形式。 同一操作应用于不同的对象上面,可以产生不同的解释和不同的执行结果(例如不同的动物发出叫声)。将不变的隔离出来。 使用继承得到多 阅读全文

posted @ 2017-06-02 18:06 rainbow661314 阅读(108) 评论(0) 推荐(0)