The singleton pattern is controversial. Why is it so important to make sure there is only one object? Just create one object and there will be only one object.
Just create one object and there will be only one object.
When working on a project with more than one programmer and/or non-deterministic operations, it's possible to not know at what stages other pieces of code may or may not have created or be using some object of which there must be only one. The singleton is an efficient solution.