私は現在、コア機能セットを含む 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 はそれらのために開発され、バンドルされて展開されます。等