深入理解:为什么要使用工厂模式?

一·工厂模式概念:

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

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: 很高兴为您提供建议!工厂模式是一种软件技术的设计模式,主要用于创建对象。建议您首先了解一些基本概念,例如抽象工厂工厂类、工厂方法等,然后结合实际应用,从而更好地理解工厂模式的概念。同时,您还可以通过参考一些书籍或在线学习资源,加深对工厂模式理解。 ### 回答2: 学习工厂模式是一个很好的选择,下面是一些建议: 1. 了解基本概念:首先,你需要了解工厂模式的基本概念和原理。它是一种创建对象的设计模式,通过一个工厂类来创建和管理对象的实例。学习它的工作原理和应用场景将对你的学习很有帮助。 2. 阅读相关资料:你可以通过阅读相关的书籍、博客文章或教程来加深对工厂模式理解。这些资料通常会提供实际的例子和代码实现,帮助你更好地掌握工厂模式使用方法。 3. 实践演练:仅仅理解概念是不够的,你还需要在实践中运用工厂模式。尝试使用工厂模式重新设计和实现一些已有的代码,或者自己创建一些新的项目来应用它。通过实践,你可以更深入理解它的优势和局限性。 4. 学习其他相关的设计模式:了解其他与工厂模式有关的设计模式也是很有益处的。比如抽象工厂模式、简单工厂模式等,它们都与工厂模式有密切的关系,一起学习可以帮助你更全面地理解和应用工厂模式。 5. 与他人交流和分享:和其他人讨论和分享你的学习经验也是提升的一种方式。可以加入一些技术讨论的社区、论坛或者参加相关的线下活动,在和他人的交流中不断学习和提升。 总结来说,学习工厂模式需要掌握其基本概念和原理,通过阅读资料和实践来加深理解,同时还应该学习其他相关的设计模式,与他人交流和分享经验。希望以上建议对你学习工厂模式有所帮助。 ### 回答3: 如果你想学习工厂模式,我有一些建议可以分享给你。 首先,强烈建议你先了解面向对象编程(Object-Oriented Programming,简称OOP)的基本原理和概念。工厂模式是一种OOP设计模式,它通过使用一个工厂类来创建其他类的对象。因此,对于工厂模式的学习,你需要熟悉类、对象、继承、多态等OOP的核心概念。 其次,阅读相关的教材、文章或者观看相关的教学视频也是学习工厂模式的好方法。有很多优秀的资源可以帮助你理解和应用工厂模式,例如《Head First 设计模式》、《设计模式可复用面向对象软件的基础》等。在学习的过程中,建议你同时进行理论和实践结合,通过编写代码来巩固所学知识。 另外,尝试分析和理解工厂模式在实际项目中的应用场景和优势也是非常重要的。工厂模式的主要作用是将对象的创建过程封装起来,使得客户端代码无需直接依赖具体实现类,从而提高代码的可维护性、可扩展性和可测试性。通过深入理解这些概念,你可以更好地应用工厂模式解决实际问题。 最后,多与其他开发者进行交流和讨论也是学习工厂模式的好方法。加入相关的社群论坛、参加线下的技术交流会议或者与同事进行技术分享,可以让你不断学习和进步。与其他开发者分享你的疑惑和问题,并听取他们的建议和意见,可以帮助你更全面地理解和运用工厂模式。 希望这些建议对你学习工厂模式有所帮助!祝你学有所成!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ideal-cs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值