プラグインベースのアプリケーションを作成しようとしています。つまり、基本的なフレームワークに加えて、プラグインスタイルで他の機能を追加する必要があります。
このようなシステムの大きな問題は、実行時に新しいプラグインをロードする方法だと思います。新しいプラグインがインストールされたときにプロジェクト全体を再コンパイルしたくありません。Eclipseと同様に、プラグインを新しくインストールした後、ユーザーはプラグインを再起動するだけで済みます。したがって、それについての私の最初のアイデアは、実行時にクラスをロードするためにJavaリフレクションを使用することです。いくつかのプラグイン構成ファイルがある可能性があり、システムはそれらを読み取り、リフレクションを使用してプラグインクラスをロードします。制御の反転が私の要求にぴったり合っているので、Springフレームワークも使用できるかもしれません。
私が調査しているもう1つのアイデアは、ejbコンテナーを使用することです。プラグインがejbsの場合、それらをjarにパックし、ejbコンテナーにデプロイしてから、jndiを使用してプラグインにアクセスできます。ただし、プラグインがejbsの場合にのみ機能します。
とにかく、私はシステム設計の新人です。だから私はこのトピックを投稿し、あなたの意見を聞きたいです。ところで。推奨したいシステム設計についての良い本はありますか?
よろしくお願いします!