如何调整现有的表单类:
public class A
{
A(IDependency1 obj1, IDependency2 obj2)
{
// ...
}
}
变成这样:
public class A
{
private List<IDependency2> _things;
A(IDependency1 obj1)
{
_things = new List<IDependency2>();
foreach (var x in someCollection)
_things.Add(NewInstanceOf<IDependency2>());
}
}
关键是在第一个例子obj2
中是一个单例实例IDependency2
。在第二个示例中,创建了不可预测数量的实例IDependency2
。
我曾考虑Func<IDependency2>
在构造函数中有一个参数,但我与一位建议我使用的熟人讨论了这个,IDependencyResolver
因为它会更明确。