我们把被创建的对象称为“产品”,把创建产品的对象称为“工厂”。如果要创建的产品不多,只要一个工厂类就可以完成,这种模式叫“简单工厂模式”。
简单来说,简单工厂模式有一个具体的工厂类,可以生成多个不同的产品,属于创建型设计模式。
具体简述思路如下
1.定义产品抽象类
/**
* 电脑产品抽象类
*/
public abstract class Computer {
public abstract void make();
}
2.定义产品抽象类的具体产品
/**
* <p>
* asus电脑实现类
* </p>
*
*/
public class AsusComputer extends Computer {
@Override
public void make() {
System.out.println("asus");
}
}
/**
* <p>
*lenovo电脑实现类
* </p>
*
*/
public class LenovoComputer extends Computer {
@Override
public void make() {
System.out.println("lenovo");
}
}
3.定义简单工厂类,根据类型生产不同产品
/**
* 电脑产品工厂
* 根据类型,找对应类型的电脑产品
*/
public class ComputerFactory {
public static Computer createComputer(String type) {
Computer computer = null;
switch (type) {
case "lenovo":
computer = new LenovoComputer();
break;
case "asus":
computer = new AsusComputer();
break;
default:
}
return computer;
}
}
4. 调用
/**
* <p>
* 简单工厂
* </p>
*
*/
public class Client {
public static void main(String[] args) {
ComputerFactory.createComputer("asus").make();
}
}