简单工厂设计模式
工厂模式是我们最常用的实例化对象模式,是用工厂方法代替new操作的一种模式,用于创建复杂的对象创建,避免类的复杂创建和应用写在一个类里。
简单工厂:又称为静态工厂,属于类创建型模式,专门定义一个工厂来负责创建其他类的实例。在简单工厂模式中,可以根据参数的不同返回不同类的实例。
Factory:工厂类,简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类的创建产品类的方法可以被外界直接调用,创建所需的产品对象。
IProduct:抽象产品类,简单工厂模式所创建的所有对象的父类,它负责描述所有实例所共有的公共接口。
Product:具体产品类,是简单工厂模式的创建目标。
实例如下:

1 首先创建一个水果接口(抽象产品)
public interface Fruit { void name(); }
2 创建具体产品,苹果和梨
public class Apple implements Fruit { @Override public void name() { System.out.println("我是苹果"); } } public class Pear implements Fruit{ @Override public void name() { System.out.println("我是梨"); } }
3 创建产品工厂
//简单工厂,静态工厂 public class SimpleFruitFactory { //第一种 public static Fruit getFruit(String type) { if ("apple".equals(type)) { return new Apple(); } else if ("pear".equals(type)) { return new Pear(); }else { return null; } } //第二种 public static Fruit getApple(){ return new Apple(); } public static Fruit getPear(){ return new Pear(); } }
4 使用举例:
public class Consumer { public static void main(String[] args) { //每当我们水果的时候,需要自己new一个,相当于自己栽培 //第一种,自己从头建造 Apple apple = new Apple(); Pear pear = new Pear(); //第二种,从工厂中取 //Apple apple2 = (Apple) SimpleFruitFactory.getApple(); // Pear pear3 = (Pear) SimpleFruitFactory.getPear(); Apple apple2 = (Apple) SimpleFruitFactory.getFruit("apple"); Pear pear3 = (Pear) SimpleFruitFactory.getFruit("pear"); } }
浙公网安备 33010602011771号