总结:为什么要使用工厂模式?
一·工厂模式概念:
1.工厂模式本质上是一种“代码风格”或者“思维风格”
(1)如果写程序时,你就不用工厂模式思想,非得每次调用对象都去直接new一个实例对象,这当然也是能够实现程序结果的。
(2)就跟MVC开发风格、Restful代码风格一样。由于用的人多了,自然也就成了开发者的定式了。(当然这样也是有好处的!)
(3)spring的IOC容器管理技术底层就是利用了工厂模式的思想
(4)工厂模式(Factory Pattern)现在是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
2.在工厂模式中,创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象
如何理解这句话?
即,在工厂模式中,每次创建任何类的一个实例对象时,并不需要对客户端直接暴露创建对象的具体逻辑,而是通过调用某一个共同接口,从而来返回一个该类新创建的对象。
什么叫客户端?
就是调用者。例如在a方法中调用b方法。a方法就可以称呼为“客户端”,b方法就是“服务端”
什么叫共同接口?
该共同接口一般就是工厂模式思想落地的一个类。该类可以为每个不同对象分别对外暴露一个调用方法(也可以叫调用接口)
二·为什么要使用工厂模式?
1.如果每次需要的对象构造过程都比较复杂,那么就需要很多行的代码去能去创建一个对象。这样就比较麻烦!
2.如果在别的类中又需要创建该对象,那么代码的重复度就很高。
3.需要通过一个工具类,把每个对象创建的具体逻辑给隐藏起来,且只对外分别暴露一个个调用方法。这样就减少了代码量,以后如果想改代码的话,只需要改一处即可,也方便我们日常的维护。
4.该工具类就是工厂模式思想落地实现的一种具体情况,现在只不过很多框架都会自带工厂模式的实现接口。一般不需要我们自己手写,只需简单配置一下就可以使用了