工厂模式的思考

概述

由于java具有封装、继承、多态的特性,我们都会对我们定义的对象进行封装,在使用这些对象之前,我们都会创建对象,也就是我们常用的new XXObject()方式。

当我们是自己封装的对象,我们自己使用的时候是知道怎么创建这个对象的,因为这个对象实现者是我们自己,如下图所示,张三使用自己定义的对象,可以随意创建对象。
工厂模式的思考
当我们是多人合作的,张三还可能使用李四定义的对象,或者需要引入第三方Jar包中的对象,则变成下面这种方式。
工厂模式的思考

思考,张三是使用其他人定义的对象或者其他jar包对象,如何创建这些对象呢?这些对象实现细节对张三来说,是一个黑盒,那么我们简单抽象简化一下这个问题,分为接口提供者(创建对象者理解为提供一个接口),使用接口者(使用对象者理解为使用一个接口)
工厂模式的思考
想获取以上对象,我们是否可以使用某种方式统一起来,或者尽可能让使用者使用起来方便容易一些,接下来我们将讨论一下这个问题。

待续…