Сообщение Re[2]: Что такое Dependency Rejection от 18.10.2025 13:01
Изменено 18.10.2025 13:08 diez_p
Re[2]: Что такое Dependency Rejection
Здравствуйте, Буравчик, Вы писали:
Б>Здравствуйте, Разраб, Вы писали:
Б>Статья "От внедрения зависимостей к отказу от зависимостей"
Б>https://habr.com/ru/companies/jugru/articles/545482/
Очень странный код, дико странный.
в контроллере находятся какие-то репозитории и еще какие-то доп сервисы. полная хрень.
первое что должно быть это сервис, который отвечает за логику резервирования, контракт этого сервиса краеугольная задача.
1) проверка резервирования maitre.checkReservation(... reservation parameters): ReservationAttempt
т.е. на вход дали параметры резервирования, на выходе получили попытку резервирования, если да у нее есть возможные размещения и TTL
2) maitre.reserve(reservationAttempt)
checkReservation — создает попытку резервирования, вероятно блочит места для другого резерва, с каким-то TTL , возможно с приоритетами и т.д., наружу отдает или id попытки или метадату,
чтобы потом можно было по id получить нужные детали
maitre.reserve(reservationAttempt)
резервирует ранее выбранные места в соотвествии с попыткой.
ФП хорош на пайплайнах, когда есть вход, цепочка обработки и выход, а тут банальная бизнес логика манипулирования состоянием которую надо корректно разложить по абстракциям.
В общем автору бы поучиться код писать, вместо книжек.
Б>Здравствуйте, Разраб, Вы писали:
Б>Статья "От внедрения зависимостей к отказу от зависимостей"
Б>https://habr.com/ru/companies/jugru/articles/545482/
Очень странный код, дико странный.
в контроллере находятся какие-то репозитории и еще какие-то доп сервисы. полная хрень.
первое что должно быть это сервис, который отвечает за логику резервирования, контракт этого сервиса краеугольная задача.
1) проверка резервирования maitre.checkReservation(... reservation parameters): ReservationAttempt
т.е. на вход дали параметры резервирования, на выходе получили попытку резервирования, если да у нее есть возможные размещения и TTL
2) maitre.reserve(reservationAttempt)
checkReservation — создает попытку резервирования, вероятно блочит места для другого резерва, с каким-то TTL , возможно с приоритетами и т.д., наружу отдает или id попытки или метадату,
чтобы потом можно было по id получить нужные детали
maitre.reserve(reservationAttempt)
резервирует ранее выбранные места в соотвествии с попыткой.
ФП хорош на пайплайнах, когда есть вход, цепочка обработки и выход, а тут банальная бизнес логика манипулирования состоянием которую надо корректно разложить по абстракциям.
В общем автору бы поучиться код писать, вместо книжек.
Re[2]: Что такое Dependency Rejection
Здравствуйте, Буравчик, Вы писали:
Б>Здравствуйте, Разраб, Вы писали:
Б>Статья "От внедрения зависимостей к отказу от зависимостей"
Б>https://habr.com/ru/companies/jugru/articles/545482/
Очень странный код, дико странный.
в контроллере находятся какие-то репозитории и еще какие-то доп сервисы. полная хрень.
первое что должно быть это сервис, который отвечает за логику резервирования, контракт этого сервиса краеугольная задача.
1) проверка резервирования maitre.checkReservation(... reservation parameters): ReservationAttempt
checkReservation — создает попытку резервирования, вероятно блочит места для другого резерва, с каким-то TTL , возможно с приоритетами и т.д., наружу отдает или id попытки или метадату,
чтобы потом можно было по id получить нужные детали
2) maitre.reserve(reservationAttempt)
резервирует ранее выбранные места в соотвествии с попыткой.
сервис скорее всего будет использовать какой-то репозиторий чекеры и прочую муть, все что можно сделать статикой, надо делать статикой, в любом случае все состояние хранится в базе и в общем случае обращение к базе.
ФП хорош на пайплайнах, когда есть вход, цепочка обработки и выход, а тут банальная бизнес логика манипулирования состоянием которую надо корректно разложить по абстракциям.
В общем автору бы поучиться код писать, вместо книжек.
Б>Здравствуйте, Разраб, Вы писали:
Б>Статья "От внедрения зависимостей к отказу от зависимостей"
Б>https://habr.com/ru/companies/jugru/articles/545482/
Очень странный код, дико странный.
в контроллере находятся какие-то репозитории и еще какие-то доп сервисы. полная хрень.
первое что должно быть это сервис, который отвечает за логику резервирования, контракт этого сервиса краеугольная задача.
1) проверка резервирования maitre.checkReservation(... reservation parameters): ReservationAttempt
checkReservation — создает попытку резервирования, вероятно блочит места для другого резерва, с каким-то TTL , возможно с приоритетами и т.д., наружу отдает или id попытки или метадату,
чтобы потом можно было по id получить нужные детали
2) maitre.reserve(reservationAttempt)
резервирует ранее выбранные места в соотвествии с попыткой.
сервис скорее всего будет использовать какой-то репозиторий чекеры и прочую муть, все что можно сделать статикой, надо делать статикой, в любом случае все состояние хранится в базе и в общем случае обращение к базе.
ФП хорош на пайплайнах, когда есть вход, цепочка обработки и выход, а тут банальная бизнес логика манипулирования состоянием которую надо корректно разложить по абстракциям.
В общем автору бы поучиться код писать, вместо книжек.