总结:为什么要使用工厂模式?

  • 一·工厂模式概念:
  • 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.由于工厂类集中了所有产品创建逻辑,一旦不能正常工作,整个系统都要受到影响。