Чим можна замінити Сінглтон?

Один із головних мінусів патерну «Одиночка» — він ускладнює юніт-тестування. "Одиночка" привносить у програму глобальний стан, тому ви не можете просто взяти та ізолювати класи, які покладаються на Singleton.

Одинак ​​(Singleton, Сінглтон) – патерн, що породжує, який гарантує, що для певного класу буде створено тільки один об'єкт, а також надасть до цього об'єкта точку доступу. Сінглтон дозволяє створити об'єкт лише за його необхідності. Якщо об'єкт не потрібен, то він не буде створено.

Паттерн singleton використовується у випадках коли існувати може рівно один екземпляр класу і він повинен бути доступний через добре відому точку доступу або коли єдиний екземпляр має бути розширюваним підкласами і клієнти повинні мати можливість використовувати успадкований екземпляр без модифікації свого …