java设计模式学习笔记(一)
设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性设计模式使代码编制真正工程化。
简单工厂模式
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。
工厂模式可以分为三类: 1、简单工厂模式(Simple Factory) 2、工厂方法模式(Factory Method) 3、抽象工厂模式(Abstract Factory)
这里介绍简单工厂模式(Simple Factory)
概念:简单工厂模式属于类的创建型模式,又叫做静态工厂方法模式。通过专门定义一个类来负责创建其它类的实例,被创建的实例通常都具有共同的父类。
首先定义一个接口,接口内有客户需要用到的功能,以供子类具体实现
/**
* 定义一个Pen接口
*/
interface Pen {
/**
* 有一个描述是什么笔的功能
*/
public void description();
}
再定义具体的实现类
/**
* 铅笔类
*/
class Pencil implements Pen{
@Override
public void description() {
System.out.println("铅笔");
}
}
/**
* 马克笔类
*/
class MarkerPen implements Pen{
@Override
public void description() {
System.out.println("马克笔");
}
}
然后再定义一个工厂类,用来生产具体实现类的对象
/**
* 创建工厂类,可生产不同类型的笔
*/
class PenFactory{
public static final int TYPE_PENCIL = 1;
public static final int TYPE_MARKERPEN = 2;
/**
* 根据要求生产不同的对象
* @param type 1创建Pencil对象,2创建MarkerPen对象
* @return 返回一个想要的对象
*/
public static Pen creatPen(int type) {
Pen pen = null;
switch(type) {
case TYPE_PENCIL:
pen = new Pencil();
break;
case TYPE_MARKERPEN:
pen = new MarkerPen();
break;
}
return pen;
}
}
测试:
/**
* 测试简单工厂模式
*/
public static void main(String[] args) {
Pen pen = PenFactory.creatPen(PenFactory.TYPE_PENCIL);
pen.description