Описание: Класс, который может иметь только один экземпляр. Гарантирует, что в однопоточном приложении будет единственный экземпляр и предоставляет глобальную точку доступа к этому экземпляру. Относится к порождающим шаблонам. Основные минусы: Классическая реализация: Для Java реализация через enum: Применение: Для создания "тяжелых" объектов.