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