工厂模式的思考
概述
由于java具有封装、继承、多态的特性,我们都会对我们定义的对象进行封装,在使用这些对象之前,我们都会创建对象,也就是我们常用的new XXObject()
方式。
当我们是自己封装的对象,我们自己使用的时候是知道怎么创建这个对象的,因为这个对象实现者是我们自己,如下图所示,张三使用自己定义的对象,可以随意创建对象。
当我们是多人合作的,张三还可能使用李四定义的对象,或者需要引入第三方Jar包中的对象,则变成下面这种方式。
思考,张三是使用其他人定义的对象或者其他jar包对象,如何创建这些对象呢?这些对象实现细节对张三来说,是一个黑盒,那么我们简单抽象简化一下这个问题,分为接口提供者(创建对象者理解为提供一个接口),使用接口者(使用对象者理解为使用一个接口)
想获取以上对象,我们是否可以使用某种方式统一起来,或者尽可能让使用者使用起来方便容易一些,接下来我们将讨论一下这个问题。
待续…