Д
- OrderService - отвечает за логику работы с заказами (создание, смена статуса) с различными валидациями корректности данных и бизнес логики. Он работает с OrderRepository.
- CourierNotificationService - отвечает за доставку push уведомлений курьерам
- UserNotificationService - доставка push уведомлений пользователям
Сейчас дёргается OrderController и создаётся заказ через OrderService.
А теперь хочется доставлять уведомления, что заказ создан.
Очевидно: внедрить UserNotificationService и CourierNotificationService в OrderService и пусть он их вызывает.
Правильно ли так делать? Кажется, что OrderService не должен заниматься этим, так как его задача просто работа с заказами с кучкой валидаций.
Может еще один класс сверху, типа OrderManager, который будет дергать уже OrderService, UserNotificationService и CourierNotificationService?
В общем, как в таких случаях правильно строить логику?