为什么我们应该使用单例类
答案 0 :(得分:2)
好吧,我会尽量避免使用它们,因为有效地将全局元素引入到项目中。但是,如果您的项目中有一个您只希望拥有其中一个资源的资源,则可以决定使用它们。例如,指向单个数据库源,缓存或Factory的链接。
答案 1 :(得分:1)
别............
答案 2 :(得分:0)
您正在使用C#构建应用程序。您需要一个只有一个实例的类,并且需要提供对该实例的全局访问点。您希望确保您的解决方案高效并且它利用了Microsoft .NET公共语言运行时功能。您可能还想确保您的解决方案是线程安全的。
优势
#
静态初始化方法是可行的,因为.NET Framework明确定义了静态变量初始化的发生方式和时间。 #
前面“Multithreaded Singleton”中描述的双重检查锁定习惯用法在公共语言运行库中正确实现。
负债
如果您的多线程应用程序需要显式初始化,则必须采取预防措施以避免线程问题。