I recently watched a video about separating logic into different categories within your custom code.
It wasn't a PHP video, but the concept applies to any programming language or framework.
This was the final structure of the directories:
src/
  Controllers/
  Domain/
  Persistence/
  Properties/
  Services/
It was described as using Controllers for presentational logic, Domain for domain logic, and Services for application logic, and reminds me of a domain-driven design (DDD) approach to organising code.
I remember watching other older videos showing separating business and presentational logic in React into different components (if I remember correctly).
This isn't an approach I see in Drupal code, maybe more-so in other PHP framework-based projects like Symfony or Laravel.
It's something I've been thinking of trying, potentially on my website codebase.
Do you organise your code in this or a similar way?
If so, why?
What advantages does it bring?