我目前正在开发一个包含一组核心功能的 Java 应用程序,这必须针对几个不同的目的(约 10 个不同的目的)进行扩展,因此,想到的最佳解决方案是添加插件的选项在需要时扩展功能,而不是为每个功能使用不同的代码库。
最好的方法是简单地创建一个接口并在相关插件中扩展它吗?
public coreCode()
{
// Core
doThis();
doThat();
// Call plugin code
plugin.doStuff();
}
// Plugin
public interface PluginInterface()
{
doStuff();
...
}
我已经研究过 JSF 等,但由于工作限制(没有特别授权等),遗憾的是它们不是一个可行的选择。
- 编辑 -
它应该大致像这样工作:
目的 A、B 和 C 需要一组特定的功能,因此为它们开发了 plugin1,与它们捆绑然后部署。目的 D 和 E 需要不同的集合,因此为它们开发、捆绑和部署了 plugin2。等等