摘要: 备忘录模式 备忘录模式又叫快照模式,备忘录对象是一个用来存储另外一个对象内部状态快照的对象。备忘录的用意是在不破坏封装的条件下,将一个对象的状态捕捉,并外部化存储起来,从而可以在将来合适的时候把这个对象还原到存储起来的状态,备忘录模式常与命令模式和迭代子模式一起使用。 访问者模式 访问者的目的是封装 阅读全文
posted @ 2018-11-02 21:53 shanhuiming 阅读(216) 评论(0) 推荐(0)
摘要: 迭代子模式 迭代子模式可以顺序地访问一个聚集中的元素而不必暴露聚集的内部表象。它将迭代逻辑封装到一个独立的迭代子对象中,从而与聚集本身分开。迭代子对象是对遍历的抽象化,不同的聚集对象可以提供相同的迭代子对象,从而使客户端无需知道聚集的底层结构。一个聚集可以提供多个不同的迭代子对象,从而使得遍历逻辑的 阅读全文
posted @ 2018-11-02 21:48 shanhuiming 阅读(408) 评论(0) 推荐(0)
摘要: 策略模式 策略模式的用意,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。 环境角色:持有一个抽象策略角色的引用。 抽象策略角色:给出所有的具体策略类所要实现的接口。 具体策略角色:包装相关的算法或行为。 模板方法模式 模板 阅读全文
posted @ 2018-11-02 21:13 shanhuiming 阅读(483) 评论(0) 推荐(0)
摘要: 组合模式 在面向对象的语言中,树结构有着巨大的威力,一个基于继承的类型的等级结构便是一个数结构,一个基于合成的对象结构也是一个数结构。组合模式将部分与整体的关系用树结构表示出来,使得客户端把一个个单独的成分对象和由它们组合而成的合成对象同等看待。 抽象构建角色:一个抽象角色,给参加组合的对象规定一个 阅读全文
posted @ 2018-11-02 21:01 shanhuiming 阅读(491) 评论(0) 推荐(0)
摘要: 适配器模式 把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够工作。 1. 类的适配器模式 目标角色:期望的接口,对于类的适配器模式,此角色不可以是具体类。 源角色:需要适配的接口。 适配器角色:把源接口转换成目标接口,此角色必须是具体类。 2. 对象的 阅读全文
posted @ 2018-11-02 20:47 shanhuiming 阅读(243) 评论(0) 推荐(0)