In favor of the singleton

A short and very enjoyable read by Uncle Bob on singletons:

Do you recognize this: ``` public class X { private static X instance = null;

private X() {}

public static X instance() { if (instance == null) instance = new X(); return instance; }

// more methods... }


<em>Of course. That's the Singleton pattern from the GOF book. I've always heard we shouldn't use it.</em>

Why shouldn't we use it?

<em>Because it makes our systems hard to test.</em>

It does? Why is that?

....</blockquote>
You can read the whole conversation on <a href="http://blog.cleancoder.com/uncle-bob/2015/07/01/TheLittleSingleton.html">http://blog.cleancoder.com/uncle-bob/2015/07/01/TheLittleSingleton.html</a>

Join 9,500+ smart developers

Get my monthly newsletter with what I learn from running Spatie, building Oh Dear, and maintaining 300+ open source packages. Practical takes on Laravel, PHP, and AI that you can actually use.

No spam. Unsubscribe anytime. You can also follow me on X.

Found something interesting to share? Submit a link to the community section.