设计模式,解决某一问题的最佳实践。针对某一具体的需求选择某一模式把它解决。它是领域中的一些大神经过大量实践总结出的一套规律、法则,以便后来人可以套用而不用去做重复的工作。
工厂模式并不仅仅是用来new出一个类的对象的。
简单工厂确实如题主的描述所说,是一个工厂对应一个类的关系。
在这里,可以举出一些复杂的例子,与题主的描述不同。
假设有代码包A和代码包B,
代码包B是代码包A的调用者,A向B暴露接口InterfaceA。
在A的内部结构中,实现了InterfaceA的有ClassA1,ClassA2,ClassA3,……ClassA100。
但是B并不关心这些,因为对于B来说,A的功能只有一个,就是InterfaceA。
这个时候,B想要使用一个InterfaceA的实现,想要new一个出来,但又不想与代码包A中的复杂的构造逻辑耦合,怎么办?
只能向代码包A中传递参数,交给代码包A自己选择到底是那个ClassA1还是A100被new出来。
而这个对构造过程进行选择的逻辑,就是工厂。
当然了,我这里举的例子是InterfaceA,你也可以用AbstractClassA之类的。
工厂在这里面起的作用,就是隐藏了创建过程的复杂度,以配合InterfaceA对那一百个子类的复杂度进行隐藏,这样B只要知道上转型之后的InterfaceA即可,简单清晰。
以上就是极悦小编介绍的"Java工厂设计模式的用处",希望对大家有帮助,想了解更多可查看Java设计模式。极悦在线学习教程,针对没有任何Java基础的读者学习,让你从入门到精通,主要介绍了一些Java基础的核心知识,让同学们更好更方便的学习和了解Java编程,感兴趣的同学可以关注一下。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习