私は同僚のためにシングルトンを介した依存性注入の使用について聞いてきました。互いに置き換えることができる2つの直交パターンであるかどうかはまだわかりませんか?または、DIはシングルトンパターンをテスト可能にする方法ですか?
次のコードスニペットをご覧ください。
IMathFace obj = Singleton.Instance;
SingletonConsumer singConsumer = new SingletonConsumer(obj);
singConsumer.ConsumerAdd(10,20);
SingletonConsumer
型のパラメータを受け入れていますIMathFace
。内部的にシングルトンクラスにアクセスする代わりにSingletonConsumer
、呼び出し元から渡されたシングルトンインスタンスを取得します。これは、依存性注入を介してシングルトンクラスを使用する良い例ですか?