5

プラグインベースのアプリケーションを作成しようとしています。つまり、基本的なフレームワークに加えて、プラグインスタイルで他の機能を追加する必要があります。

このようなシステムの大きな問題は、実行時に新しいプラグインをロードする方法だと思います。新しいプラグインがインストールされたときにプロジェクト全体を再コンパイルしたくありません。Eclipseと同様に、プラグインを新しくインストールした後、ユーザーはプラグインを再起動するだけで済みます。したがって、それについての私の最初のアイデアは、実行時にクラスをロードするためにJavaリフレクションを使用することです。いくつかのプラグイン構成ファイルがある可能性があり、システムはそれらを読み取り、リフレクションを使用してプラグインクラスをロードします。制御の反転が私の要求にぴったり合っているので、Springフレームワークも使用できるかもしれません。

私が調査しているもう1つのアイデアは、ejbコンテナーを使用することです。プラグインがejbsの場合、それらをjarにパックし、ejbコンテナーにデプロイしてから、jndiを使用してプラグインにアクセスできます。ただし、プラグインがejbsの場合にのみ機能します。

とにかく、私はシステム設計の新人です。だから私はこのトピックを投稿し、あなたの意見を聞きたいです。ところで。推奨したいシステム設計についての良い本はありますか?

よろしくお願いします!

4

2 に答える 2

2

最初にOSGIとその実装(Equinox forEclipseとApacheFelix)を見ることができますが、何をしようとしているのかについてより多くの情報を提供していただければ、より簡単になります。

于 2011-08-16T09:56:23.510 に答える
1

どのような問題を解決するためのプラグイン?

フレームワークの設計者は通常、設計の選択に役立つ深いドメイン知識を持っています。フレームワークは、いくつかの問題を解決するための2、3回の試みの後に生まれます。以前の実装では、重要なものをフレームワークに抽象化する方法についての手がかりが得られました。

Eclipseは拡張可能なIDEの問題を解決します(私の意見では不十分です)。EJBは、コンテナ内で実行されるトランザクション分散コンポーネントです。

解決したい問題の種類を示していません。そうするまで、あなたのアイデアはそれほど遠くにはなりません。

于 2011-08-16T09:47:58.123 に答える