Factory到底有什么好处?

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

纯属初学者的见解,望能解答.

cc
2002-08-22 16:57
工厂法要和多态连用才会发挥威力!

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

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

banq
2002-08-23 14:17
我认为可以不必使用factory

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

cc
2002-08-26 14:01
工厂法就是产品与工厂的互操作,这一点首先明确!

工厂生产产品,产品可以很多,但这些产品都是产品,继承产品接口。这个特点很明确可以使用多态,多态使用如下语句调用:

产品类接口 具体产品=new 具体产品类();

而这个“new 具体产品类()”可以换成“工厂.工厂法()”,变成如下:

产品类接口 具体产品=工厂.工厂法("参数");

现在明白了么?

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

猜你喜欢