工厂设计模式概念
工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A() 工厂模式也是用来创建实例对象的,所以以后new时就要多个心眼,是否可以考虑使用工厂模式,虽然这样做,可能多做一些工作,但会给你系统带来更大的可扩展性和尽量少的修改量。
工厂设计模式结构
工厂设计模式简单实现
第一步:创建顶层接口Car
/**
* Created by Walter on 2017/3/15.
*/
public interface Car {
void run();
}
第二步:创建实现Car的子类
/**
* Created by Walter on 2017/3/15.
*/
public class BMW implements Car{
@Override
public void run() {
System.out.println("BMW RUN");
}
}
/**
* Created by Walter on 2017/3/15.
*/
public class Benzi implements Car {
@Override
public void run() {
System.out.println("Benzi RUN");
}
}
第三步:创建生产Car的工厂类
/**
* Created by Walter on 2017/3/15.
*/
public class CarFactory {
public static int BMW = 1;
public static int BENZI = 2;
public Car getTypeCar(int type){
switch (type){
case 1:
return new BMW();
case 2:
return new Benzi();
}
return null;
}
}
第四步:创建测试类
/**
* Created by Walter on 2017/3/15.
*/
public class CommonFactoryDemo {
public static void main(String[] args){
new CarFactory().getTypeCar(CarFactory.BMW).run();
new CarFactory().getTypeCar(CarFactory.BENZI).run();
}
}
测试结果