私の理解によると、DIの実装は
1. ISampleInterface
2.サンプル:ISampleInterface
3.サンプルを使用したISampleInterfaceの構成バインド。
4.そしてコンストラクターインジェクション
ISampleInterface _sampleInterface;
Constructor(ISampleInterface sampleInterface)
{
_sampleInterface = sampleInterface;
}
残りはDIで処理します。
ただし、場合によっては、具体的なインターフェイス実装クラス内で、「新規」初期化が必要になることがあります。それなら私は何をすべきですか?
サンプルクラス内で、
宣言する必要がある場合
private const int _limitSize = 70;
limits = new int[_limitSize];
またはSampleクラス内。インターフェイスメソッドの実装では、次のコードを記述する必要がある場合があります。
Dictionary<string, object[]> arr = new Dictionary<string, object[]>()
{
{"name", new string[1]{listName}},
};
実際の実装
public string ContactListsAdd(string listName)
{
Dictionary<string, object[]> arr = new Dictionary<string, object[]>()
{
{"name", new string[1]{listName}},
};
return callSomePrivateMethod("contact-lists.add", arr);
}
だから私の質問は、DIを使用するときにオブジェクトを手動で作成するのは正しいアプローチですか?例のように。それともそれを回避する方法はありますか?