実行時に、ファクトリを介してオブジェクトの 3 つ以上のインスタンスをインスタンス化する必要がある状況があります。スナップショットを貼り付けているので、よりよく説明されています。
より良いアプローチはありますか?依存性注入を正しく行っていますか
ありがとう
実行時に、ファクトリを介してオブジェクトの 3 つ以上のインスタンスをインスタンス化する必要がある状況があります。スナップショットを貼り付けているので、よりよく説明されています。
より良いアプローチはありますか?依存性注入を正しく行っていますか
ありがとう
実行時の依存関係を解決するために抽象ファクトリを使用することは、よく知られたソリューションです。
場合によっては、Metadata Role Hint、Role Interface Role Hint、またはPartial Type Name Role Hint (私のお気に入り) の方がエレガントな場合があります。ソリューション。
コードを見ずに依存性注入を正しく行っているかどうかを判断するのは困難ですが、依存性注入を確実にサポートする設計になっているように見えます (クラス/オブジェクト階層がそうであるように)。
この設計を実装するには、オブジェクト作成ファクトリをクラス 1 のインスタンスに挿入することを検討します。これは、単体テスト用のモック ファクトリを渡すことで、ファクトリ ロジックから分離してクラス 1 のロジックをテストできることを意味します。クラス 1 の周りで、クラス 1 がこれらのテストでファクトリの正しいメソッドを呼び出していることをアサートします。あなたのデザインは、ファクトリがクラス 1 に渡されると述べているため、実際に正しく処理しているように見えます。もちろん、オブジェクト a1、a2、および a3 が正しくインスタンス化されていることをテストするために、ファクトリの周りに別のユニット テスト セットが必要です。
お役に立てれば。