Static Class Design
Static classes are classes that do not contain instance members other than those inherited from Object, and do not have a callable constructor. The following guidelines help ensure that your static classes are correctly designed.
Do use static classes sparingly.
Do not treat static classes as a miscellaneous bucket.
The Environment class is a good example of the proper use of a static class. This class provides access to information about the current user environment.
Do not declare or override instance members in static classes.
If the design of a class suggests that there should be instance members, the class should not be marked static.
Do declare static classes as sealed and abstract, and add a private instance constructor, if your programming language does not have built-in support for static classes.
Portions Copyright 2005 Microsoft Corporation. All rights reserved.
Portions Copyright Addison-Wesley Corporation. All rights reserved.
For more information on design guidelines, see the "Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries" book by Krzysztof Cwalina and Brad Abrams, published by Addison-Wesley, 2005.