From spaghetti to lasagne - writing clean code for Drupal 7 and 8 with Domain Driven Design
Drupal is often referred to as a set of golden handcuffs. Whilst it allows you to rapidly prototype your development project, you can easily end up with a spaghetti mess of unmaintainable code that can only be tested with end-to-end functional tests.
Domain Driven Design is an approach to software development that was coined by Eric Evans in his 2004 book of the same name. It involves placing the primary focus of development on the core business domain and domain logic.