我开发了一个插件加载mechanizem,并且作为插件层次结构设计的结果,主要是抽象级编程,并且尽可能地进行高级编程,最顶层插件的插件类层次结构可能达到的 8
我一直在加载数十个插件以延长加载时间,而且它似乎加载得很好,所以我想知道继承设计的坏副作用是什么,除了“继承vs组合“设计问题,性能问题,加载或运行时等问题。
我想补充说,这不是插件模型设计问题,这是应用程序设计问题而不是插件模型,应用程序应该知道它的所有插件吗?或者应用程序应该定义插件,这些插件可能有自己的插件,主应用程序不会知道它们。该设计适用于我,它节省了编码时间的音调,问题是它在运行时如何表现?
提前致谢,
Adam Zehavi。
答案 0 :(得分:2)
我认为深层次结构的问题并不是与性能有关。 它更多的是关于代码的可维护性。无论如何,如果您觉得需要这么深的层次结构,请使用它,或发布更多详细信息。
当然,你必须注意你在做什么。例如:
public someClassDeepLevel0{ public void foo(){do something}}
.....
public someClassDeepLevel10 extends someClassDeepLevel9{
public void foo(){
//do something
super.foo();
}
}
对foo()的调用次数与层次结构的深度成正比。如果你正在做这样的事情,那么表现可能非常重要。
答案 1 :(得分:1)
一般情况下,不要担心数字。担心设计。如果设计决定了深层次,那么就是这样。如果你重视设计上的数字,也许你不应该设计。