静态类和单例模式之间的区别?
静态类和单例模式之间存在什么真正的(即实际的)区别?
两者都可以在没有实例化的情况下被调用,它们都只提供一个“实例”,而且它们都不是线程安全的。 还有其他的区别吗?
是什么让你说单线程或静态方法不是线程安全的? 通常两者都应该被实现为线程安全的。
单身人士和一些静态方法之间的巨大差异是单身人士可以实现接口(或者从有用的基类派生,尽管这在我的经验中不太常见),所以你可以绕过单身人士,就好像它是“另一个“实施。
真正的答案是Jon Skeet,在这里的另一个论坛上。
单例允许访问单个创建的实例 - 该实例(或者对该实例的引用)可以作为参数传递给其他方法,并作为普通对象处理。
静态类只允许静态方法。
interface
,但是类的静态方法(或者C# static class
)不能。