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

转载 朝北 2019/10/30 21:30:32

工厂模式大白话:比如你需要一辆汽车,你无需了解汽车是怎么样生产的,你只需要告诉汽车厂,我要买某某某型号的汽车,汽车厂造好了给你即可。这就是工厂模式:隐藏具体对象实例的过程,只需要告诉这个工厂你想要的东西(对象)它帮你实现,你不必关系具体的实现过程;灵魂画师~走你这个图是不是很容易

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

?

上一篇:聊聊缓存淘汰算法-LRU 实现原理

下一篇:微服务架构案例(03):数据库选型简介,业务数据规划设计

赞(0)

共有 条评论 网友评论

验证码: 看不清楚?
    IT文章导航
    扫一扫关注最新编程为什么上不了bet356_bet356 下载安装_bet356黑钱