1

依存性注入コンテナーを使用するように Web アプリケーションのフレームワークをアップグレードしようとしています。コンテナは、他のクラスがサイト リソースを取得するために使用する多数のファクトリを構築するように設定されています。これらは、クライアントや支払い履歴など、さまざまなものである可能性があるため、かなりの数のファクトリが存在することになります。

これで、各種類のファクトリのインスタンスを持つリソース マネージャ クラスを最上位に置くことができますが、すべてのページがすべてのファクトリを使用するわけではありません。各ページには 1 つまたは 2 つのファクトリしか必要ない可能性が高いため、すべてのページにすべてのファクトリをロードすると、不要な速度低下が発生します。したがって、各ページが必要なリソースのみを取得する方法が必要です。

するべきか:

  1. 要求されたときに特定のファクトリを遅延ロードする、すべてのページにロードできるファクトリ ファクトリを用意します。
  2. 各ページをコンテナーに登録して、ページが要求されたときにその依存関係がアプリケーションのルートによって管理されるようにします。(各ページに新しいエントリが必要になるため、コンテナが巨大になるようです。このソリューションはエレガントに見えますが、新しいページを作成するための開発コストが増加します)
  3. コンテナを各ページに渡して、実行時に必要なときに必要な依存関係をロードできるようにします。(これについてはよくわかりませんが、最も簡単な解決策のように思えますが、コンテナがアプリケーションにそれ以上進入しないようにする必要があります。また、数百のページがある場合、コンテナが使用される場所が数百になりますルートに 1 つだけではなく)
  4. 私は初心者なので、私が考えていなかった明らかにより良い解決策...
4

0 に答える 0