@websitedev
какие архитектурные и структурные решения можно применить в этом случае. Так же приветствуется аргументированная критика кода. Проект написан на Laravel.
Решения вопроса 0
Ответы на вопрос 3
@myks92
2. Анемичные сущности, которые не имеют контроля над своим состоянием агрегата.
3. Сущности знают про то где они хранятся. Если завтра мы начнем хранить данные в другом месте, то ваш код придётся переписывать.
4. Про структурные паттерны можете почитать тут: https://refactoring.guru/ru/design-patterns/struct…. Там есть примеры на PHP.
В целом могу сказать, что код пишется для человека, а не для машины. Поэтому не нужно бездумно писать код и раскидывать всё в разные папки по всему проекту. Выделяйте модули и ложите всё рядом с ним. Можете почитать про модульный монолит.
Например, у вас Request размазан по разным папкам: Events, Models, Listeners и т д. Вам завтра скажут вынести модуль заявок в отдельный сервис или вообще его удалить. Вместо того чтобы удалить одну папку, то вам нужно во всех папках найти где есть Request. Конечно, это не удобно. Не говоря о том, то вся логика, в том числе и бизнес логика хранится по всему проекту. И это у вас простой код. А что если будет 100 разных модулей. С вашей структурой вы точно увязните. Плюс у вас будет куча конфликтов при разработке. Нельзя за каждым программистом закрепить папку, за которую он отвечает. Каждому программисту придётся лезть в соседнюю попку, потому что они общие. Ревью делать тоже сложно.
@vabka
Видимо, оценивающий хотел увидеть разделение.
А вообще подобные вопросы надо задавать тому, кто оставил замечание
@lenk0belk0