FanatPHP, правильно ли я понимаю, что если вышеупомянутую выборку данных я перемещу в хелпер и назову его так как надо, то проблема разделения ответственности будет решена?
FanatPHP, вижу это так:
1. Валидатор - принимает и проверяет параметры, выполняет выборку сущностей из БД. Т.е. проверка + выборка.
2. Хелпер (по идее он должен называться по-другому) - выполняет конкретные действия, используя заботливо приготовленные валидатором данные. Он знает, что данные верные и никаких проверок выполнять не надо. Например, хелпер может выполнить транзакцию, в которую обернуты несколько коротких действий. Т.е. это может быть пополнение баланса реферала и выплата вознаграждения рефереру.
В валидаторе, помимо выходных данных, могут быть также необходимые для дальнейших действий сущности. Например, объект текущего пользователя ($valdation->user). Т.е. он также делает необходимые выборки. Если он не находит нужные сущности - выбрасывает соответствующую ошибку, которая передается в ответе клиенту. Все клиенты представляют собой авторизованные сервисы, о которых мы заранее знаем. Т.е. с улицы никого нет.
Pardon Me! Where Do I Find 4giveness?, нет, пока за валидацию отвечает отдельный класс. Я хочу выяснить, насколько корректен такой подход. К тому же далеко не всегда можно сопоставить 1 экшен с 1-ой моделью.
Тоже заметил, что чем выше квалификация и старше возраст, тем меньше тянет общаться на отвлеченные темы в реале. Строишь свой внутренний мирок, живешь ради комфорта.
Я снова начал изучать Ruby в 2020 году как раз для работы с легаси в будущем) Конкуренция минимальная, зарплаты высокие. Сейчас народ идет в основном в Python и JS.
это нас вообще не должно волновать как IT-специалистов. Это головная боль юристов.
Я работал в обменном сервисе, который работал по серой схеме, в качестве разработчика бекенда) Ушел в том числе из-за того, что меня запросто могли сделать крайним при разборе полетов.
Иван Шумов, думаю здесь главное быть юридически защищенным, чтобы не попасть на деньги) Насчет инструментов по работе с очередями - я правильно понял, что все инструменты используют файловую систему и никак иначе? Т.е. можно не париться с выбором, RabbitMQ использовать или Redis.