静态类和单例类之间的区别c#
  可能重复: 
  静态类和单例模式之间的区别? 
我们使用静态类来进行常规操作。 同样的事情也可以做singleton类
在这里,我给两个一级是静态类,一个是单身类。 实际上对于我来说事情变得越来越困难,因为我们应该去静态课,当我们去单身课堂的时候。
public sealed class SiteStructure
{
    /// <summary>
    /// This is an expensive resource we need to only store in one place.
    /// </summary>
    object[] _data = new object[10];
    /// <summary>
    /// Allocate ourselves. We have a private constructor, so no one else can.
    /// </summary>
    static readonly SiteStructure _instance = new SiteStructure();
    /// <summary>
    /// Access SiteStructure.Instance to get the singleton object.
    /// Then call methods on that instance.
    /// </summary>
    public static SiteStructure Instance
    {
    get { return _instance; }
    }
    /// <summary>
    /// This is a private constructor, meaning no outsiders have access.
    /// </summary>
    private SiteStructure()
    {
    // Initialize members, etc. here.
    }
}
static public class SiteStatic
{
    /// <summary>
    /// The data must be a static member in this example.
    /// </summary>
    static object[] _data = new object[10];
    /// <summary>
    /// C# doesn't define when this constructor is run, but it will likely
    /// be run right before it is used.
    /// </summary>
    static SiteStatic()
    {
    // Initialize all of our static members.
    }
}
请解释何时需要创建静态类和何时创建单例类。 谢谢
我的意见是:
静态类需要创建一个类,它可以像API基类一样操作,所以基本上它只是函数或常量集。 对于你的班级的用户来说,它基本上是关于缺少状态的 静态信号。
Singleton只是一个实例可以只有一个的类 ,并且您提供静态属性和私有默认构造函数(因为不应该让您的类用户创建对象应该这样做),这只是设计的结果 。
希望这可以帮助。
问候。
当你想将一个类实例化为一个对象时,你使用了一个单例,但是你一次只需要一个对象。
静态类不会实例化为对象。
  经典( Class.Instance )单例和具有静态可变状态的类都几乎同样不好的IMO。  两者很少有用处。 
  静态类对于访问任何状态的辅助函数(例如Math或Enumerable都很好。 
我对状态单态的首选替代方法是通过依赖注入来注入单例。 这样你就不会围绕假设某件事是单身而建立你的代码。 但是恰好有一个例子。 因此,如果您将来需要多个代码,那么更改代码非常简单。
链接地址: http://www.djcxy.com/p/78817.html