У меня есть PrintService
для печати документов. Теперь у меня также есть PrintQueueService
и PrintHistoryService
, поэтому, когда документ распечатывается, мой PrintHistoryService
получает новый элемент, а PrintQueueService
запрашивает другой отпечаток, также у меня есть служба для отправки всей информации клиенту в режиме реального времени и служба для пу sh уведомления. Каково лучшее решение для этого?
- Внедрение служб друг в друга, поэтому в
PrintService
я внутренне вызываю PrintHistoryService.Add(...)
et c. - Отображение событий в сигнатуре службы, поэтому
PrintService
будет иметь OnPrintDone
событие, а другие службы будут внедрять PrintService
и подписываться на событие. - Использовать шаблон агрегатора событий, чтобы не внедрять другие службы (только EventAggregator).
В настоящее время я планирую использовать третье решение, однако поиск в Google дает мне в основном использование при общении с ViewModels, поэтому считается ли это плохой практикой для обычного использования? Это будет лучшее решение или есть лучшее?