一、什么是工厂模式
工厂模式:工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式,工厂模式在Java程序中可以说是随处可见。
二、三种工厂模式的区别
模式 | 解释 |
---|---|
简单工厂 | 用来生产同一等级结构中的任意产品。 |
工厂方法 | 用来生产同一等级结构中的固定产品。(支持增加任意产品) |
抽象工厂 | 用来生产不同产品族的全部产品。(对于增加新的产品,无能为力;支持增加产品族) |
这三种工厂模式在设计模式的分类中都属于创建型模式
。
三、三种工厂模式
1、简单工厂模式
简单工厂模式是属于
创建型模式
,又叫做静态工厂方法
(Static Factory Method)模式。简单工厂模式
是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。
1、Java代码实现:
水果类:
@Data
public class Fruit {
private final String name;
public Fruit(String name) {
this.name = name;
}
}
public class Orange extends Fruit {
public Orange() {
super("橘子1");
}
}
public class Apple extends Fruit {
public Apple() {
super("苹果1");
}
}
水果工厂:
public class FruitFactory {
public static Fruit getFruit(String type){
switch (type) {
case "苹果":
return new Apple();
case "橘子":
return new Orange();
default:
return null;