Защита ресурсов с помощью Singleton?

Я прочитал довольно много сообщений в блогах и ответов на SO, указывающих на плохой дизайн Singleton. Ранее я реализовал одноэлементный класс CameraControl. Этот класс управляет камерой, которая подключена к системе . При следующих знаниях:

  • ​​Ни при каких обстоятельствах не может быть более одной камеры (API камеры, предоставленный производителем камеры, управляет всеми камерами).
  • Использование API производителя камеры в нескольких местах одновременно вызывало проблемы в прошлом (например, один поток пытался захватить изображение, другой поток пытался установить выдержку).
  • Мой класс предоставляет только несколько дополнительных методов для отображения изображения, захваченного в пользовательском интерфейсе. Отправьте изображение на детектор лиц, ... (т.е. это не требует интенсивного использования памяти).

Является ли мой выбор сделать этот класс одноэлементным классом плохим решением?

9
задан Dat Chu 12 April 2011 в 14:46
поделиться