JAVA基础23种设计模式----简单工厂模式--MonkeyKing
简单工厂模式属于类的创建模型模式,又叫静态工厂模式。通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类
- 角色
- 工厂(creator)
- 抽象(product)
- 具体产品(concrete Product)
- 工厂类
- 简单工厂模式的核心,它负责实现所有创建实例的内部逻辑。工厂类可以被外界直接调用,创建所需的产品对象
- 抽象
- 简单工厂模式所创建的所有对象的父类,它负责描述所有实例所共有的接口
- 具体产品
- 简单工厂模式所创建的具体实例对象
具体实现
水果工厂
package simplefactory;
public class FruitFactory {
// public static Fruit getApple() {
// return new Apple();
// }
// public static Fruit getBanana() {
// return new Banana();
// }
public static Fruit getFruit(String type) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
if(type != null) {
Class clazz = Class.forName(type);
return (Fruit) clazz.newInstance();
}else {
return null;
}
}
}
}
抽象水果接口
package simplefactory;
public interface Fruit {
void get();
}
具体水果
package simplefactory;
public class Banana implements Fruit {
public void get() {
System.out.println("get banana");
}
}
package simplefactory;
public class Apple implements Fruit {
public void get() {
System.out.println("get apple");
}
}
实现
package simplefactory;
public class MainClass {
public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
// Fruit apple = new Apple();
// Fruit banana = new Banana();
//
// apple.get();
// banana.get();
//
// Fruit apple = FruitFactory.getApple();
// Fruit banana = FruitFactory.getBanana();
Fruit apple = FruitFactory.getFruit("Apple");
}
}