01 【创建型】工厂模式 理解与使用

  • 2019 年 10 月 30 日
  • 筆記

1.工厂模式

大白话:比如你需要一辆汽车,你无需了解汽车是怎么样生产的,你只需要告诉汽车厂,我要买某某某型号的汽车,?,汽车厂造好了给你即可。这就是工厂模式:

隐藏具体对象实例的过程,只需要告诉这个工厂你想要的东西(对象) 它帮你实现,你不必关系具体的实现过程;

 

灵魂画师~走你

这个图是不是很容易理解啊 ,啊哈哈哈,看我精湛的技术!!

举个经常用到的例子:

 

  1. 数据库连接当中指明你的数据库类型:mysql
  2. 数据库分页插件当中的方言

实践:

1、创建一个汽车工厂接口

/**   * 汽车生产工厂   */  public interface CarFactory {      //创造汽车方法      void createCar();    }

 

2、使用三个不同的类实现工厂方法

public class DazoCar implements CarFactory {        @Override      public void createCar() {          System.out.println("生产大众汽车");      }  }

public class BYDCar implements CarFactory {        @Override      public void createCar() {          System.out.println("生产BYD汽车");      }  }

public class BenciCar implements CarFactory {        @Override      public void createCar() {          System.out.println("生产奔驰汽车");      }  }

 

3、创建一个汽车工厂

public class Factory {          public static CarFactory getCarFactroy(String type){            //大众          if ("DAZO".equals(type)) {              return new DazoCar();          } else if ("BYD".equals(type)) {              //BYD              return new BYDCar();          } else if ("BENCI".equals(type)){              //奔驰              return new BenciCar();          }          return null;      }  }

4、测试调用

    public static void main(String[] args) {            CarFactory carFactory = Factory.getCarFactroy("BYD");            carFactory.createCar();        }

 

 这就是一个最简单的工厂模式;

 

 

参考:https://www.runoob.com/design-pattern/design-pattern-intro.html

码云:https://gitee.com/mrc1999/23GOF