问题:我想要实例化一个类,但在初始化时要做很多工作,怎么办?

03-01-06 henry.t

我想要实例化一个类,但在初始化时要做很多工作,要从数据库中取数据,要知道,这时很大的操作,看了本站设计模式中FACTORY,里面说遇到这种情况可以用此模式解决,我接触设计模式不久,有点一片空白的感觉,请问,我该怎么设计比较好呢?是用FACTORY吗?别的可以吗?请给一个最优的办法。

banq
2003-01-07 09:11

当然使用Factory 可以参考jive中的Forum的生成做法

jxb8901
2003-01-07 17:41

to banq:

你在上一贴"工厂模式的疑问"中也表达了同样的观点, 但后面的问题你并未回答.

我查看了Jive中DBForumFactory和DBForum的代码, 在DBForumFactory中的createForum()方法中, 只是简单判断要创建的Forum是否存在, 若不存在则仍调用DBForum的构造器生成对象, 而DBForum的构造中则会访问数据库以初始化自身, 这和banq所说的"重量级别的操作,应该放入Factory模式中" 的说法不是矛盾了吗?