什么时候最好在ASP.NET中使用静态函数?

Mah*_*aga 5 asp.net performance static-methods

我一直在想,什么时候使用静态函数,何时不在ASP.NET中?

使用它们有哪些优点和缺点,包括性能,遵循良好实践等各方面(以及更多,无论您认为哪些相关).

Dar*_*rov 4

缺点:

  • 线程问题(静态函数不需要调用实例,因此很容易从代码的不同部分调用它们,如果它们读/写共享状态,则该状态可能会在多线程环境中损坏例如 ASP.NET)
  • 难以进行单元测试(由于静态函数不需要对象实例,构造函数注入是不可能的,这意味着注入依赖项的唯一方法是将它们作为参数传递给函数本身)

优点:

  • 性能(这是值得怀疑的 - 在大多数情况下,与代码的其他部分相比,性能提升将完全可以忽略不计)