我有一个辅助类,它接受一些对象,处理它并返回另一个类的一些实例,甚至返回对象列表。 最好的方法是什么:使这个辅助方法静态或非静态? 问题是我的应用程序可以创建很多 Car 对象,我在想当它们每个都使用静态助手时是否会产生负面影响?
最佳答案
也许这是可以解决的问题,而无需决定您需要它的辅助对象的生命周期。
您应该尝试利用依赖注入(inject)方法:
public class X
{
public X(IHelper helper)
{
Helper = helper;
}
private IHelper Helper { get; }
public void DoStuff()
{
var result = Helper.DoOtherStuff(input);
}
}
也就是说,X
不知道 Helper 是否始终是同一个实例,或者它是否是一个 transient 对象。这使得代码更简洁、更易于测试,因为您可以使用假的 IHelper
实现来模拟帮助器,以确保您只是测试 X
。
关于c# - 在辅助类中使用静态方法与非静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42053112/