If your class is stateless and contains a set of utility methods, then you certainly have to use a static class. Consider a normal class in the other cases, but consider using a singleton if a single instance of the object is required.
Here are the difference between static classes and singletons:
Static class Singleton ------------------------------------ Stateless Stateful or stateless No polymorphysm Polymorphism possible Hard to mock Easy to mock No concurrency risk Concurrency risk Better performance Lower performance Eager loaded Lazy loaded Stored in stack Stored in heap
Copyright © 2013 Welcome to the website of Davis Fiore. All Rights Reserved.