c# - 为什么选择静态类而不是单例实现?

标签 c# .net static singleton

静态与。单例问题之前在SO里面已经讨论过很多次了。
但是,所有的答案都指出了单例的诸多优点。
我的问题是——静态类比单例有什么优势? 为什么不每次都简单地选择一个单例?

最佳答案

静态类是您盒子里的一种技术工具 - 基本上是一种语言功能。

单例是一个架构概念。

您可以使用静态类作为实现单例概念的手段。或者您可以使用其他一些方法。

如果不小心,C# 中的静态类有两种潜在危险。

  • 在应用程序生命周期结束之前,不会释放所请求的资源
  • 静态变量的值在应用程序内共享。对于 ASP.NET 应用程序尤其不利,因为这些值将在驻留在特定应用程序域中的站点的所有用户之间共享。

关于c# - 为什么选择静态类而不是单例实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1321352/

相关文章:

c# - EF Core - 添加相关实体时出错

c# - 是否可以为不同的类型创建一个通用的抽象父类?

c# - 如何在 c#.net 中以编程方式重启我的窗口服务

c# - 如何将 Dictionary<string, string> 作为 XUnit 的 MemberData 需要的 IEnumerable<object> 返回

c# - 阻止进程子窗口?

java - 使用静态类来表示不同形式的货币

c# - 如何禁用新行的特定 DataGrid 单元格

c# - 如何在 .Net 中修改 tiff 创建日期

c# - 使数据库类静态化?

c++ - 我如何在 visual studio 的监 window 口中列出和监视所有全局变量(对于 c++)?