简单工厂模式属于创建型模式,但不属于23种设计模式之一。
定义:定义一个工厂类,可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。
在简单工厂模式中用于被创建实例的方法通常为静态方法(static),因此也称为静态工厂方法(Static Factory Method)
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");
}
}
//工厂类可以被外界直接调用,创建所需对象
class Factory {
//简单工厂中用于被创建实例的方法通常为static方法
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("没有 " + type + " 类型的产品!");
break;
}
return product;
}
}
public class SimpleFactory {
public static void main(String[] args) {
//抽象产品 = 简单工厂.创建实例方法("具体产品"),直接创建所需实例对象
Product productA = Factory.createProduct("A");
productA.info();
Product productB = Factory.createProduct("B");
productB.info();
}
}
其他设计模式详见本专栏其他博文~
特别感谢zst_2001在备考软考期间提供的帮助,贴上博主B站
zst_2001的个人空间