工厂模式应用非常之广,在JDK底层源码以及各大主流框架中随处可见,一般以Factory结尾命名的类,比如Mybatis中的SqlSessionFactorySpring中的BeanFactory等,都是工厂模式的典型代表。

一、简单工厂模式

1.1 概念

简单工厂模式又称为静态工厂模式,属于设计模式中的创建型模式。简单工厂模式通过对外提供一个静态方法来统一为类创建实例,目的是实现类与类之间解耦:客户端不需要知道这个对象是如何被穿创建出来的,只需要调用简单工厂模式的方法来统一创建就可以了,从而明确了各个类的职责。

1.2 示例

简单工厂模式,以生产汽车轮胎为例。

1.2.1 实体类

  • 轮胎通用属性
public class Tire {     /**      * 通用属性      */     private String common; }
  • 奔驰车轮胎

包含通用属性外还有自己的特有属性

public class TireForBenz extends Tire{       Tire tire;     /**      * 特有属性      */     private String benz;      public TireForBenz() {         this.benz = "得到 Benz 轮胎";     }       @Override     public String toString() {         return "["+this.benz +"]";     } }
  • 宝马车轮胎

包含通用属性外还有自己的特有属性

public class TireForBwm extends Tire{      Tire tire;      /**      * 特有属性      */     private String bwm;      public TireForBwm() {         this.bwm = "得到 Bwm 轮胎";     }      @Override     public String toString() {         return "["+this.bwm +"]";     } }

1.2.2 生产工艺

  • 生产轮胎的抽象方法,各个产线有自己的方式生产