Loading

摘要: 正文 一、定义 迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。 要点: 迭代器模式把在元素之间游走的责任交给迭代器,而不是聚合对象。这样简化了聚合的接口和实现,也让责任各得其所。 二、实现步骤 1、创建迭代器接口 /** * 迭代器接口 */ public inte 阅读全文
posted @ 2020-09-07 22:07 惊却一目 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 正文 一、定义 模板方法模式在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。 要点: 模板方法定义了一个算法的步骤,每个步骤都被一个方法所代表,而这几个方法的具体实现可由子类提供。 模板方法可确保算法的结构保持不变,同 阅读全文
posted @ 2020-08-30 21:52 惊却一目 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 正文 一、定义 外观模式提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。 要点: 外观模式将一个或数个类的复杂的一切都隐藏在背后,只显露出一个干净美好的外观。 通过将子系统的方法封装到外观的方法中,可以达到对子系统的“一键操作”。 外观模式的意图是简化接 阅读全文
posted @ 2020-08-24 22:02 惊却一目 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 正文 一、定义 适配器模式将一个类的接口(被适配者),转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。 要点: 适配器实现了目标接口,并持有被适配者的实例。 适配器使用被适配者的方法,把请求转换成被适配者的一个或多个方法。 客户通过目标接口调用适配器的方法对适配器发出请求。 客户 阅读全文
posted @ 2020-08-18 21:26 惊却一目 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 正文 一、定义 命令模式将“请求”封装成对象(命令对象),以便使用不同的“请求”来参数化其他对象。 要点: 命令模式可将“动作的请求者”从“动作的执行者”对象中解耦。 被解耦的两者之间通过命令对象进行沟通。命令对象封装了接收者和一个或多个动作。 命令对象提供一个 execute() 方法,该方法封装 阅读全文
posted @ 2020-08-10 22:10 惊却一目 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 正文 一、定义 单件模式确保一个类只有一个实例,并提供一个全局访问点。 要点: 定义持有唯一单件实例的类变量。 私有化构造,避免其他类产生实例。 对外提供获取单件实例的静态方法。 二、实现步骤 1、创建单件类 (1)方式一:懒汉式 延迟创建单件实例。 线程不安全: /** * 单件类(懒汉式、线程不 阅读全文
posted @ 2020-08-01 22:03 惊却一目 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 正文 一、定义 抽象工厂模式提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。 要点: 抽象工厂允许客户使用抽象的接口来创建一组相关的产品,而不需要知道实际产品的具体产品是什么。这样一来,客户就从具体的产品中被解耦。 抽象工厂的任务是定义一个负责创建一组产品的接口。这个接口内的每个 阅读全文
posted @ 2020-07-26 21:33 惊却一目 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 正文 一、定义 工厂方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。 PS:在设计模式中,“实现一个接口”泛指实现某个超类型(可以是类或接口)的某个方法。 要点: 通过子类来创建具体的对象。客户只需要知道他们所使用的抽象类型即可。 由子类决定要实例 阅读全文
posted @ 2020-07-20 22:01 惊却一目 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 正文 一、定义 装饰者模式动态地将责任(功能)附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 要点: 装饰者和被装饰者有相同的超类型。 可以用一个或多个装饰者包装一个对象。 既然装饰者和被装饰者有相同的超类型,所以在任何需要原始对象(被装饰者)的场合,都可以用装饰过的对象代替它。 阅读全文
posted @ 2020-07-13 22:10 惊却一目 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 正文 一、定义 观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。 要点: 观察者模式定义了对象之间一对多的关系。 观察者模式让主题(可观察者)和观察者之间松耦合。 主题对象管理某些数据,当主题内的数据改变时,会以某种形式通知观察者。 观察者 阅读全文
posted @ 2020-07-03 22:40 惊却一目 阅读(390) 评论(0) 推荐(0) 编辑