Factory到底有什么好处?

JIVE中处处都用到了factory模式,比如在ForumFactory中使用className来标示实际要用的数据库对应类.但我觉得有时无需老是更改数据库的存放方式,就算改了,相应字段肯定要变动,这样设计好像没有什么重用性可言了!
纯属初学者的见解,望能解答.

工厂法要和多态连用才会发挥威力!

你要理解Jive中的工厂目的。它在它的forumfactory中注释中说,它的工厂是为了提供数据库之外的另外一种实现。比如我可以使用全文件形式的论坛,这时只要做一个ConcretFactory就可以。

那么在实际的项目中如果不考虑另一种数据库实现方式呢? 是否要用此模式. cc你说的多态性具体是指什么? 能详细解答吗?

我认为可以不必使用factory
实际上,在这类创建性的项目中,使用factory成为习惯,比如我做的网站自动生成系统,site创建类似forum 也用了factory

工厂法就是产品与工厂的互操作,这一点首先明确!

工厂生产产品,产品可以很多,但这些产品都是产品,继承产品接口。这个特点很明确可以使用多态,多态使用如下语句调用:
产品类接口 具体产品=new 具体产品类();
而这个“new 具体产品类()”可以换成“工厂.工厂法()”,变成如下:
产品类接口 具体产品=工厂.工厂法("参数");

现在明白了么?
工厂.工厂法() 这个方法你可以随便改,可以从XML中读去,可以传参数,可以使用className,and so on ..