01 【创建型】工厂模式 理解与使用
- 2019 年 10 月 30 日
- 笔记
1.工厂模式
大白话:比如你需要一辆汽车,你无需了解汽车是怎么样生产的,你只需要告诉汽车厂,我要买某某某型号的汽车,?,汽车厂造好了给你即可。这就是工厂模式:
隐藏具体对象实例的过程,只需要告诉这个工厂你想要的东西(对象) 它帮你实现,你不必关系具体的实现过程;
灵魂画师~走你
这个图是不是很容易理解啊 ,啊哈哈哈,看我精湛的技术!!
举个经常用到的例子:
- 数据库连接当中指明你的数据库类型:mysql
- 数据库分页插件当中的方言
实践:
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