工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。
public class FactoryMode {
public static void main(String[] args) {
Fruit orange = fruitFactory(Orange.class);
orange.info();
Fruit apple = fruitFactory(Apple.class);
apple.info();
}
public interface Fruit {
void info();
}
static class Apple implements Fruit {
@Override
public void info() {
System.out.println("I'm an apple.");
}
}
static class Orange implements Fruit {
@Override
public void info() {
System.out.println("I'm an orange.");
}
}
static Fruit fruitFactory(Class<? extends Fruit> clazz) {
try {
if (!(null == clazz || "".equals(clazz))) {
return clazz.newInstance();
}
} catch (InstantiationException | IllegalAccessException e) {
e.printStackTrace();
}
return null;
}
}