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");
   }

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 设计模式概述 在学习面向对象七大设计原则时需要注意以下几点:a) 高内聚、低耦合和单一职能的“冲突”实际上,这两者...
    彦帧阅读 3,786评论 0 14
  • 字节跳动飞书内推!北京、杭州、武汉、广州、深圳、上海,六大城市等你来投。感兴趣的朋友可以私我咨询&内推,也可以通过...
    卢卡斯哔哔哔阅读 637评论 0 3
  • 本文旨在快速梳理常用的设计模式,了解每个模式主要针对的是哪些情况以及其基础特征,每个模式前都有列举出一个或多个可以...
    蛮三刀酱阅读 1,800评论 0 1
  • 设计模式汇总 一、基础知识 1. 设计模式概述 定义:设计模式(Design Pattern)是一套被反复使用、多...
    MinoyJet阅读 3,970评论 1 15
  • 获取 mongo 镜像 运行 mongodb 服务 运行 mongodb 客户端 使用 mongo-express...
    kongxx阅读 1,324评论 0 0