日期:2014-05-20  浏览次数:20672 次

一个关于工厂方法的问题
在我用到工厂方法时,遇到了效率低下的问题,我自我感觉,问题可能出在两个方面,一个是if……else ,由于可能的子类有几十种,所以我就用了几十个if……else,还有一种可能是多级继承,在我这里是有两级继承。想请问,这两种情况有可能导致效率低下么。。。建一个20万的对象链表要一个小时。。。

------解决方案--------------------
个人感觉不完全是工厂方法的问题。即使判断分支再多,执行的效率也在毫秒级别,继承也是,不会消耗太多的时间。至于“建一个20万的对象链表要一个小时。。。”是不是跟你写的执行操作数据库的代码有关系,毕竟数据库的操作才是系统效率的关键所在。
另外,使用工厂模式,是为了提高系统的可移植性、可扩展性和程序的健壮性,它会比普通的方式更消耗效率,但是这种消耗比起后期维护出现的消耗代价要小的多。
------解决方案--------------------
引用楼主 hahaso 的帖子:
在我用到工厂方法时,遇到了效率低下的问题,我自我感觉,问题可能出在两个方面,一个是if……else ,由于可能的子类有几十种,所以我就用了几十个if……else,还有一种可能是多级继承,在我这里是有两级继承。想请问,这两种情况有可能导致效率低下么。。。建一个20万的对象链表要一个小时。。。