2.1、简单工厂模式
属于创建型模式,但不属于 23 种模式之一
- 用于创建实例的方法通常为静态(static)方法(类名.方法名可以直接调用)
- 需要什么产品就传入产品对应参数,而不需要知道其实现过程

角色
- 工厂(核心):负责实现创建所有产品的内部逻辑(工厂类可以直接被调用,创建所需对象)
- 抽象产品:工厂类所创建的所有对象的父类,封装了产品的公共方法,所有的具体产品为其子类对象
- 具体产品:简单工厂模式的创建目标,所有被创建的对象都是某个具体类的实例。它要实现抽象产品中声明的抽象方法
代码
java
public class SimpleFactory {
public static void main(String[] args) {
Product productA = Factory.createProduct("A");
productA.info();
Product productB = Factory.createProduct("B");
productB.info();
}
}
class Factory {
public static Product createProduct(String type) {
Product product = null;
switch (type) {
case "A":
product = new ProductA();
break;
case "B":
product = new ProductB();
break;
default:
System.out.println("没有此产品");
break;
}
return product;
}
}
abstract class Product {
public abstract void info();
}
class ProductA extends Product {
@Override
public void info() {
System.out.println("产品A");
}
}
class ProductB extends Product {
@override
public void info() {
System.out.println("产品B");
}
}