Monday 20 August 2018

Difference between static class and singleton pattern?



What real (i.e. practical) difference exists between a static class and a singleton pattern?



Both can be invoked without instantiation, both provide only one "Instance" and neither of them is thread-safe. Is there any other difference?



Answer



What makes you say that either a singleton or a static method isn't thread-safe? Usually both should be implemented to be thread-safe.



The big difference between a singleton and a bunch of static methods is that singletons can implement interfaces (or derive from useful base classes, although that's less common, in my experience), so you can pass around the singleton as if it were "just another" implementation.


No comments:

Post a Comment

php - file_get_contents shows unexpected output while reading a file

I want to output an inline jpg image as a base64 encoded string, however when I do this : $contents = file_get_contents($filename); print &q...