Один із головних мінусів патерну «Одиночка» — він сильно ускладнює юніт-тестування. "Одиночка" привносить у програму глобальний стан, тому ви не можете просто взяти та ізолювати класи, які покладаються на Singleton.17 Sept 2016
Сінглтон і SOLID O – принцип відкритості/закритості: об'єкти повинні бути відкриті для розширення, але закриті для зміни. Сінглтон порушує даний принцип, оскільки контролює точку доступу і повертає лише себе, а чи не розширення.
Одинак (Singleton, Сінглтон) – патерн, що породжує, який гарантує, що для певного класу буде створено тільки один об'єкт, а також надасть до цього об'єкта точку доступу. Сінглтон дозволяє створити об'єкт лише за його потреби. Якщо об'єкт не потрібен, то він не буде створено.
S (The Single Responsibility Principle) – принцип єдиної відповідальності, тобто один клас вирішує одне завдання і у класу має бути лише одна причина зміни. Якщо клас задає напрямок руху машини, то цей клас не повинен виконувати будь-які інші завдання.