Я пытаюсь структурировать большое приложение Laravel.
Попытка выяснить:
1) Куда идут объекты бизнес-правил / правил домена?
2) Как выглядят объекты бизнес-правил?
По бизнесуправила я имею в виду правила, как. Данный счет имеет возможные состояния [новый, утвержденный, завершенный]. Только счета в «утвержденном» состоянии могут быть отправлены клиенту по электронной почте. Это упрощенный пример.
Поскольку этих правил много, и эти правила часто меняются (один или два раза в год), я бы хотел, чтобы они были в специализированных классах.
Этот пост в блоге https://stitcher.io/blog/laravel-beyond-crud-01-domain-oriented-laravel предоставляет структуру приложения, аналогичную моей желаемой структуре приложения. См. Ниже.
app/Domain/Invoices/
├── Actions
├── QueryBuilders
├── Collections
├── DataTransferObjects
├── Events
├── Exceptions
├── Listeners
├── Models
├── Rules
└── States
Я немного знаком с "теорией" проектирования, основанного на предметной области. Я ищу примеры кода, желательно на Laravel или PHP (другие языки тоже в порядке). Если кто-то может указать мне на проект github / gitlab с примерами кода, которые также были бы хороши.