设计模式 Java
文章平均质量分 72
fl_fa_fi
记性不好,蛮记一下
展开
-
Adapter模式
在现实世界中,如果想让交流电220伏特的电源给直流12伏特的笔记本供电。我们会使用AC适配器。进行电流的转化。在程序中也常常需要这样的适配器。 在程序世界中,经常会有现有的程序无法直接使用,需要做适当的变换之后才能使用。 Adapter模式:用于填补“现有程序”和“所需程序”之间差异的设计模式。 Adapter模式有以下两种: 1、类适配器模式(使用继承的适配器) 2、对象适配器模式(使...翻译 2018-11-15 19:37:07 · 453 阅读 · 0 评论 -
Template Method模式
什么是Template Method模式 Template Method模式是带有模板功能的模式,组成模板的方法定义在父类中。由于这些方法是抽象的,所以只查看父类的代码是无法知道这些方法会进行具体的处理。唯一知道的就是父类如何调用这些方法。这些抽象类在子类中进行实现,不同的子类,父类模板方法被调用时程序也会不同。但是无论如何实现,处理的流程都会按照父类中所定义那样进行。 像这样在父类中定义处理...翻译 2018-11-21 20:58:41 · 665 阅读 · 0 评论 -
Factory Method模式
Factory Method模式 在Factory Method模式中,父类决定实例的生成方式,但并不决定索要生成的具体类,具体的处理全部交给子类负责。这样就可以将生成的实例框架和实际负责生成实例的类解耦。 示例程序 首先,我们来看一段Factory Method模式的实例程序。这段示例程序的作用是制作身份证(ID卡),他其中有5个类。 Product类和Factory类属于framewo...翻译 2018-11-22 15:04:35 · 166 阅读 · 0 评论 -
Singleton 模式
Singleton只有一个实例 public class Singleton { private static Singleton singleton= new Singleton(); private Singleton() { System.out.println("生成了一个实例"); } public static Singleton getInstance() { ...翻译 2018-11-22 15:27:44 · 180 阅读 · 0 评论 -
Prototype模式
在java中我们经常使用new关键字指定类名来生成实例。像这样使用new来生成实例时,是必须要指定类名的。但是,在开发过程中,有时也会有“在不指定类名的前提下生成实例”的需求。例如一下几种情况,就不能根据类来生成实例,而要根据现有的实例来生成新的实例。 (1)对象种类繁多,无法将他们整合到一个类中时 第一种情况是需要处理的对象太多,将他们分别作为一个类,必须要编写多个类文件。 (2)难以根据...翻译 2018-11-30 10:06:14 · 133 阅读 · 0 评论 -
Builder模式
示例程序 使用Builder模式编写“文档”的程序。这里编写出的文档结构如下: 含有一个标题 含有几个字符串 含有条目项目 Builder类中定义了决定文档结构的方法,然后Director类使用该方法编写一个具体的文档。 Builder是抽象类,它并没有进行任何实际的处理,仅声明了抽象方法。Builder类的子类决定了用来编写文档的具体出里。 /* * Builder声明了编写文档...原创 2018-12-01 13:59:42 · 464 阅读 · 0 评论 -
抽象工厂模式 Abstract Factory Model
package factory; /** * Item类是Link和Tray类的父类。这样Link类和Tray类就有可替代性 * caption代表项目的标题 * makeHTML是一个抽象方法,给子类实现。返回HTML文件的内容**/ public abstract class Item { protected String caption; public Item(String c...翻译 2019-01-10 15:05:00 · 241 阅读 · 0 评论 -
Birdge模式
public abstract class DisplayImpl { public abstract void rawOpen(); public abstract void rawPrint() ; public abstract void rawClose(); } /* * Display类的功能是抽象的,负责”显示一些东西“。该类位于”类功能层次结构“的最上层。...翻译 2019-01-22 09:53:40 · 127 阅读 · 0 评论