Java 插件开发
Posted
技术标签:
【中文标题】Java 插件开发【英文标题】:Java Plugin Development 【发布时间】:2011-03-22 20:47:27 【问题描述】:我正在开发一个有 20 个插件的 Java 应用程序,每个插件都有一些相似的 GUI 菜单项和菜单事件,但它们将数据存储在数据库中的不同表中。目前,我正在通过复制和粘贴不同的类文件为每个插件创建单独的 GUI、事件和模型类。
为每个插件开发单独的 GUI、事件和模型类并将类似的方法复制到其他插件是否明智?
我需要您就如何为所有插件创建通用 GUI、事件和模型接口而不会使我的应用程序难以维护的建议。
谢谢。
【问题讨论】:
我认为要获得有意义的答案,您必须提供更多细节。一个(简化的)示例插件,突出显示在每个(或许多)插件中重复的代码可能会有所帮助。 【参考方案1】:我们的产品中有一个插件系统,但遇到了同样的问题。许多插件共享大量代码。我们最终做出了以下决定:
-
定义干净的接口(PluginABC 实现 MyProductInterface)。这些接口不需要特定的实现,但是...
我们提供了一个插件可以扩展的 AbstractPlugin。这个 AbstractPlugin 提供了大量对大多数插件有用的标准功能。
例子:
公共接口 MyProductInterface 公共无效 doIt(); 公共类 MyPlugin 实现 MyProductInterface 扩展 AbtractPlugin 公共做() // ... 有用的MethodForMostPlugins(); /// ... 公共抽象类 AbstractPlugin 公共有用的MethodForMostPlugins() ...【讨论】:
以上是关于Java 插件开发的主要内容,如果未能解决你的问题,请参考以下文章