Класс, реализующий данный шаблон: Одиночка используется в случае, если в системе необходим объект только в единственном экземпляре. Например ведение отладочной информации, реализация сессий, кэш приложения, менеджер печати, доступ к аппаратному обеспечению и т. д. Нередко он используется вместе с другими шаблонами (Абстрактной фабрикой, Строителем и Прототипом) для обеспечения уникальности их экземпляра. При проектировании приложения стоит учесть и минимизировать возможные негативные последствия использования Одиночки. Они являются проявлением его "глобализации". В частности: Схожие шаблоны и их отличия Альтернативой Одиночке является статический класс, который имеет следующие ограничения: Как видно из описания, Одиночка является более универсальным решением. Но если необходимо просто собрать ряд методов "под одной крышей", то для такой задачи лучше подходит статический класс. Реализация шаблона в общем виде Пример Создадим класс подключения к бд DatabaseHelper Проверим работоспособнос