У меня есть набор взаимодействующих объектов, и я хотел бы сохранить эту структуру нетронутой из-за разделения интересов, принципа единой ответственности и способности к тестированию.
Задача, с которой я сталкиваюсь, заключается в том, как добиться наилучших результатов.обрабатывать асинхронные события вверх по цепочке.
Вот мой сценарий:
Ссылка на ObjectA Ссылки на ObjectB Ссылки на ObjectC ObjectD.
ObjectA вызывает ObjectB и, таким образом, в конечном итоге приводит кв ObjectD выполняется асинхронный вызов внешней системы.
Вопрос: я ищу рекомендуемые рекомендации, как заставить ObjectA делать неблокирующий вызов, а затем получать уведомление о завершении асинхронного завершения из ObjectD.
У меня это работает с передачей и связыванием обработчиков событий по уровням, но это кажется слишком сложным, и я беспокоюсь о производительности.
Есть предложения о том, как лучше справиться с этим?
Спасибо.