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

1.工厂模式

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

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

 

灵魂画师~走你

01 【创建型】工厂模式 理解与使用_第1张图片

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

01 【创建型】工厂模式 理解与使用_第2张图片

举个经常用到的例子:

 

  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

 

你可能感兴趣的:(01 【创建型】工厂模式 理解与使用)