1、概述
工厂模式主要是通过把创建对象的代码包装起来,做到创建对象的代码与具体的业务逻辑代码相隔离的目的。
工厂模式可以细分为:简单工厂模式,工厂方法模式,抽象工厂模式。
2、简单工厂模式
简单工厂的标准类图
首先,我们举个例子,我们需要生产3种不同的车类型(电车,油车,混能车),用户自行指定需要什么车,就给用户创建什么车的对象。
分析一下,电车,油车,混能车都是具体的类,他们应该同属于车这个抽象类,然后我们需要建一个工厂类来根据用户的指定,创建指定的车型类。所以再根据上面的图,我们就可以开始写代码模拟实现这个例子。
创建车的抽象接口
public interface Car {
public void createCar();
}
创建具体车型类,并实现Car接口
public class Ecar implements Car{
@Override
public void createCar() {
System.out.println("造出电车");
}
}
public class Ocar implements Car{
@Override
public void createCar() {
System.out.println("造出油车");
}
}
public class Mcar implements Car{
@Override
public void createCar() {
System.out.println("造出混能车");
}
}
创建工厂类
public class CarFactory {
public Car createCar(String s) {
Car car = null;
switch (s) {
case "电车":
car = new Ecar();
break;
case "油车":
car = new Ocar();
break;
case "混能车":
car = new Mcar();
break;
}
return car;