Я пытаюсь понять, какой из следующих двух вариантов является правильным и почему.
Допустим, у нас есть GetHotelInfo(hotel_id)
API, который вызывается из Интернета до контроллера.
Лог c в GetHotelInfo:
- Invoke
GetHotelPropertyData()
(Местоположение, услуги…) - Invoke
GetHotelPrice(hotel_id, dates…)
- Invoke
GetHotelReviews(hotel_id)
Как только все результаты вернутся, обработайте и объедините данные и верните 1 объект, который содержит все соответствующие данные отеля.
Вариант 1 :
Создание 3 различных хранилищ (HotelPropertyRepo, HotelPriceRepo, HotelReviewsRepo)
Создание сценария использования GetHotelInfo который будет использовать эти 3 хранилища и вернет окончательный результат.
Вариант 2 :
Создание 3 различных хранилищ (HotelPropertyRepo, HotelPriceRepo, HotelReviewsRepo)
Создание 3 различных сценариев использования (GetHotelPropertyDataUseCase, GetHotelPriceUseCase, GetHotelReviewsUseCase)
*1051**1054* Создайте GetHotelInfoUseCase, который будет координировать предыдущие 3 варианта использования. (Это также может быть контроллер, но это другая топи c)
Предположим, что сейчас только 1059 * выставляется в Интернете, но, возможно, в будущем, Я также выставлю некоторые внутренние запросы.
И ответ будет другим, если фактический лог c GetHotelInfo не является комбинацией 3 конечных точек, а скорее 10?