我正在开发一个有20个插件的java应用程序,每个插件都有一些类似的GUI菜单项和菜单事件,但它们将数据存储在数据库的不同表中。目前,我正在通过在不同的类文件中复制和粘贴为每个插件创建单独的GUI,事件和模型类。
为每个插件开发单独的GUI,事件和模型类以及与其他插件重复的类似方法是明智的吗?
我需要您就如何为所有插件创建通用GUI,事件和模型界面提出建议,而不会让我的应用程序难以维护。
谢谢。
答案 0 :(得分:1)
我们的产品中有一个插件系统,并遇到了同样的问题。许多插件共享大量代码。我们最终决定了以下内容:
示例:
public interface MyProductInterface { public void doIt(); } public class MyPlugin implements MyProductInterface extends AbtractPlugin { public doIt() { // ... usefulMethodForMostPlugins(); /// ... } } public abstract class AbstractPlugin { public usefulMethodForMostPlugins() ... }