摘要: 组合模式 将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。 类结构图 Component 组合中的对象声明接口,在适当情况下,实现所有类共有的接口默认行为。声明一个接口用于访问和管理 Component 的子部件。 Composite 定义节 阅读全文
posted @ 2019-03-02 15:55 一定要细心 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 备忘录模式 在不破坏封装性的前提下,捕获一个对象内部的状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。 类结构图 Originator 负责创建一个备忘录 Memento,用以记录当前时刻它的内部状态,并可使用备忘录恢复内部状态,Originator 可根据需要决定 Me 阅读全文
posted @ 2019-02-28 03:04 一定要细心 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 适配器模式 将一个类的接口转换成客户希望的另外一个接口。Adapter 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 Adapter 模式的宗旨:保留现有类所提供的服务,向客户提供接口,以满足客户的期望。 首先应该明白一点,适配器是最后的补救措施,应该在功能设计的时候尽量避免。所以 阅读全文
posted @ 2019-02-27 14:53 一定要细心 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 状态模式 当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 上面是百度百科的解释,看起来有点难以理解其实可以理解为:它说当状态改变时,这个对象的行为也会变,而看起来就像是这个类改变了一样。 类结构图 Context 含有状态的类,维护一个 State 的实例。 State 状 阅读全文
posted @ 2019-02-25 17:55 一定要细心 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 抽象工厂模式 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们的具体类。 类结构图 Creator 抽象工厂接口,里面应该包括所有的产品创建的抽象方法。 ConcreteCreator1、ConcreteCreator2 具体的工厂,创建具有特定实现的产品对象。 ProductA、Prod 阅读全文
posted @ 2019-02-24 00:19 一定要细心 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 观察者模式 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有的观察者对象,使它们能够自己更新自己。 **简单点概括就是:**一个类管理着所有依赖于它的观察者类,并且在这个类自身发生变化的时候主动给依赖于它的观察者类发出通知。 结构 阅读全文
posted @ 2019-02-21 00:04 一定要细心 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 建造者模式 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 类结构图 Director 构建一个使用 Builder 接口的对象。 Builder 为创建一个产品对象各个部件指定的抽象接口。 ConncreteBuilder 具体的建造者,需实现 Builder 接口,构 阅读全文
posted @ 2019-02-13 17:38 一定要细心 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 外观模式 外观模式(Facade),为子系统中的一组接口提供一个一致的界面,定义一个高层接口,这个接口使得这一子系统更加容易使用。 类结构图 Facade 外观类,知道哪些子系统类负责处理请求,将 Client的请求代理给适当的子系统对象。 子系统角色 实现具体的功能类,处理 Facade 对象指派 阅读全文
posted @ 2019-02-13 17:12 一定要细心 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 模板方法模式 定义一个操作中的算法骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 结构图 应用 比如把大象放入冰箱需要3步 打开冰箱门 把大象塞进去 关上冰箱门 代码实现 public class Elephant { public void 阅读全文
posted @ 2019-02-02 15:40 一定要细心 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 原型模式 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 结构图 Prototype:原型类,声明一个克隆自身的接口 ConcretePrototype:具体原型类,实现一个克隆自身的操作 Client:客户端,让一个原型克隆自身从而创建一个新的对象 代码实现 public cla 阅读全文
posted @ 2019-02-01 16:47 一定要细心 阅读(103) 评论(0) 推荐(0) 编辑