我的问题与静态方法与实例方法的性能特征及其可伸缩性有关。对于这种情况,假设所有类定义都在一个程序集中,并且需要多个离散指针类型。
考虑:
public sealed class InstanceClass
{
public int DoOperation1(string input)
{
// Some operation.
}
public int DoOperation2(string input)
{
// Some operation.
}
// … more instance methods.
}
public static class StaticClass
{
public static int DoOperation1(string input)
{
// Some operation.
}
public static int DoOperation2(string input)
{
// Some operation.
}
// … more static methods.
}
上面的类代表了一个辅助样式模式。
在实例类中,解析实例方法需要一些时间,这与静态类相反。
我的问题是:
当保持状态不是问题(不需要字段或属性)时,使用静态类总是更好吗?
与相同数量的实例类定义相比,如果有相当数量的这些静态类定义(例如 100 个,每个都有多个静态方法),这会对执行性能或内存消耗产生负面影响吗?
当调用同一个实例类中的另一个方法时,实例解析是否仍然发生?例如,在同一个实例中使用 [this]
this.DoOperation2("abc")
关键字DoOperation1
。