私はすでに開発されたアプリケーションソフトウェア(フレームワーク)構造を持っています。実際には、利用可能なミドルウェア クラスの完全なセットの上に開発されました。
このアプリケーション フレームワークは、以前に利用可能だったミドルウェア クラスのサブセットでも動作する必要があります。
つまり、現在のソフトウェアを独立して動作するように適合させる必要があるということです。
- すべてのクラスを含むミドルウェア jar
- 一部のクラスのみを含むミドルウェア jar (他のクラスはロードされません)
本当の問題は、現在のソフトウェア構造で使用できないクラスのすべての getInstances とクラスの使用をブロックする必要があることです。そうしないと、クラスが見つからないという例外がスローされます。
では、この問題を解決するための最良のアプローチは何ですか?
私が考えていたのは、起動時にモードを決定するクラスを持つことで、ソフトウェアが実行され、選択されたモードでクラスのインスタンス化が選択的に行われるようなものでした。
しかし、これはモードの if-else 条件でソフトウェアをあふれさせます。
この問題をより良い方法で解決できるように、アイデアや指針を投稿してください。これにより、将来的に柔軟性が高まります。
アップデート:
ソフトウェア構造をこのように機能させる必要があるのは、同じアプリケーション ソフトウェアを使用する 2 つの製品を用意する必要があるためです。ただし、各製品には 2 つの m/w セットがあります (製品の機能に基づく)。
たとえば。完全な製品はすべてのクラスのセットで動作し、製品のローエンド バージョンは m/w クラスのサブセットで動作します。
ありがとう