--- title: Do you separate your logic? date: 2024-06-11 permalink: daily/2024/06/11/do-you-separate-your-logic tags: - software-development - clean-code cta: ~ snippet: | Do you separate your logic into different categories? --- I recently watched [a video about separating logic][0] 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: ```plain 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? [0]: https://www.youtube.com/watch?v=DuozyaJQQ1U