Мое личное правило для использования синглетонов заключается в том, что привыкайте только тогда, когда ошибка , если существует более одного экземпляра, а глобальный доступ требуется .Поэтому я бы сказал, что очередь печати , а не является хорошим кандидатом для синглтона: потому что вам не нужен глобальный доступ, и также можно утверждать, что ошибкой является наличие более одного.На самом деле, хотя может существовать одна «физическая» очередь печати (например, где-то на сервере печати), это не то, о чем заботится приложение, ему просто нужно отправить «задания»:
PrintJobScheduler pjs;
pjs.SubmitPrintJob(myPrintJob);
Вы не делаетеМне нужно, чтобы мой воображаемый PrintJobScheduler
был одноэлементным, даже если он говорит с «одноэлементным» сервисом где-то в сети.