这里有两个类代码,一个用于Singleton,另一个用于静态类。我喜欢在编程时理解何时应该使用静态类,何时应该使用Singleton类?
两者都用于保存全局对象,因此我们可以在程序运行时从程序的任何位置访问这些数据。适用范围广泛......应用的生命周期。
1)我真的没有找到任何可以指导我的文章,当我应该使用静态类时,Singleton类应该是不错的选择。我见过人们使用Singleton类来管理数据库连接。
2)Singleton class& amp;的主要区别是什么?静态类?
public sealed class Singleton
{
private static Singleton instance = null;
private static readonly object padlock = new object();
Singleton()
{
}
public static Singleton Instance
{
get
{
lock (padlock)
{
if (instance == null)
{
instance = new Singleton();
}
return instance;
}
}
}
}
public static class TestStatic //: ITestSingleton
{
public static void doAction(string args)
{
Console.WriteLine("Test Static :: " + args);
}
}
答案 0 :(得分:0)
使用 static 修饰符声明一个静态成员,该成员属于该类型本身而不是特定对象。 static修饰符可以与类,字段,方法,属性,运算符,事件和构造函数一起使用,但不能与索引器,析构函数或类以外的类型一起使用。
当您需要只有一个实例的类时,请使用 singleton ,并且需要提供对该实例的全局访问点
答案 1 :(得分:0)
单例基本上是单个类实例的入口点。该类的实例可以作为引用传递给另一个方法。
静态类没有这种行为(只允许使用静态方法)。