一、 工厂模式的结构
所下图所示:
二、 工厂模式在java中的应用
在java聚集中的应用
所有java聚集都实现java.util.Collectioin接口,这个接口规定所有的java聚集必须提供一个iterator()方法,返还一个Iterator类型的对象,如下图所示
URL与URLConnection的应用
URL类代表一个Uniform Resource Locator,也就是互联网上资源的一个指针。URL对象提供一个叫做openConnection()的工厂方法,这个方法返还一个URLConnection对象。而URLConnection对象则代表一个与远程对象的连接。URLConnection是所有的代表应用系统与一个URL的连接对象的超类,使用URLConnection对象可以针对一个URL进行读写操作。
三、 工厂方法与其他模式的关系
模版方法模式
工厂方法模式常常与模版方法模式一起联合使用。因为:第一,两个模式都是基于方法的,工厂方法模式是基于多态性的工厂方法的,而模版方法模式是基于模版方法和基于方法的;第二,两个模式都将具体工作交给子类。工厂方法模式将创建工作推延给子类,模版方法模式将剩余逻辑交给子类。
MVC模式
工厂方法模式总是涉及到两个等级结构中的对象,而这两个等级结构可以分别是MVC模式中的控制器和视图。一个MVC模式可以有多个控制器和多个视图,如下图所示