есть три компонента:
-
DTO — объект передачи данных. Здесь должны быть все фильтры и параметры запроса, которые приходят из GET или POST.
-
Filter — класс, который строит запрос к модели на основе фильтров и сортировки.
-
Service — слой, который управляет моделью, фильтром, загрузкой отношений и прочими бизнес-операциями.
✅ Плюсы такого подхода:
-
Все фильтры собраны в DTO → легко передавать, тестировать, валидировать.
-
RealEstateFilterостаётся чистым, только строит SQL по фильтрам. -
Serviceне занимается чтением GET/POST, только преобразует DTO → чистый код. -
Контроллер короткий и читаемый.
Комментариев нет:
Отправить комментарий