我有一个类,它有一个这样的构造函数:
private string _someString;
private ObjectA _objectA;
private ObjectB _objectB;
private Dictionary<Enum, long?> _dictionaryA;
private Dictionary<Tuple<Enum,long?>, long?> _dictionaryB;
public SomeDiClass(string someString)
{
_someString = someString;
_objectA = new ObjectA();
_objectB = new ObjectB();
_dictionaryA = new Dictionary<Enum, long?>();
_dictionaryB = new Dictionary<Tuple<Enum, long?>, long?>();
}
我想从此构造函数中创建依赖项。在第一步中,我会将 ObjectA 和 B 依赖项移动到构造函数参数中,以通过构造函数注入来注入它们。我想为此目的使用 IoC 容器,这就是我目前停留的地方。问题是如何处理 someString 和字典。我需要将它们注入课堂,因为字典的内容将是单元测试的重要组成部分。通过属性注入注入字符串和字典是否是一个好主意(我在其他类中不需要它们),所以我最终会得到这样的东西?:
private ObjectA _objectA;
private ObjectB _objectB;
public string SomeString { get; set; }
public Dictionary<Enum, long?> DictionaryA { get; set; }
public Dictionary<Tuple<Enum, long?>, long?> DictionaryB { get; set; }
public SomeDiClass(ObjectA objectA, ObjectB objectB)
{
_objectA = objectA;
_objectB = objectB;
}
是否有解决此类问题的最佳实践?