Коллеги, а поправьте, если ошибаюсь.
Имеет ли право на жизнь следующая структура приложения на Yii2?
1. Контроллер - максимально тонкий, не содержит бизнес-логики, вызывает useCase.
2. useCase - содержит бизнес-логику конкретной бизнес-операции верхнего уровня. К примеру: "отмена заказа клиентом", "отмена заказа менеджером".
3. Сервисы - содержат более низкоуровневые операции, которые могут использоваться в разных useCase'ах. К примеру - "рассчитать сумму денег для возврата при отмене заказа".
4. Модели - содержат только операции внутри самих себя и не вызывают другие классы. К примеру - "транзакция" - "отменить".