JAVA基础23种设计模式----简单工厂模式--MonkeyKing

JAVA基础23种设计模式----简单工厂模式--MonkeyKing

简单工厂模式属于类的创建模型模式,又叫静态工厂模式。通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类

  • 角色
    1. 工厂(creator)
    2. 抽象(product)
    3. 具体产品(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");
   }

}

你可能感兴趣的:(JAVA基础23种设计模式----简单工厂模式--MonkeyKing)