Why choose a static class over a singleton implementation?

Static class is a technical tool in your box – basically a language feature.

Singleton is an architectural concept.

You may use a static class as a means to implement the singleton concept. Or you may use some other approach.

With static classes in C# there are two potential dangers if you’re not careful.

  • The requested resources will not be freed until the end of application life
  • The values of static variables are shared within an application. Especially bad for ASP.NET applications, because these values will then be shared between all users of a site residing in a particular Application Domain.

Leave a Comment