Quantcast
Channel: 海边拾贝 » Java
Viewing all articles
Browse latest Browse all 10

工厂模式的真正意义

$
0
0

用了一个多月的工厂模式,但一直不过是在用Java中它来做数据库链接的生成,一个“ConnectionFactory.getConnection();”就可以搞定一个Connection,用到链接的时候就不用写那一大堆加载数据库驱动程序、写数据库链接字符串等的操作了。修改数据库链接时也会容易得多。原以为工厂模式不过就这些作用了。

最近从图书馆借了本《WebWork in Action》,恶补WebWork的基础知识(以前就靠从网上找来的几个Doc文件指导,都已经用了半个多月了……),确实理清了WebWork的工作机理。同时,也更了解的一些设计模式的作用。

实际上工厂类的最大作用是实现了类和其所用资源的解耦。这样类中就可以用接口类型的变量来接收工厂生成的对象,而不是自己去实列化一个硬编码、完全确定类型的对象。这样类所接收的资源类型就是可变化的了。最明显的应用就是在代码的测试过程中,你可以让工厂返回一个模拟对象,而不是真实对象来实现方便的测试。

总之一句话:工厂模式给了我们为类提供所需资源的主动权。我们可以根据需要设置工厂,让其返回适当类型的资源,而不需要改动资源使用者的代码。


Viewing all articles
Browse latest Browse all 10

Trending Articles