Onion Architecture: Put the Business in the Middle and Everything Else Outside
Take a codebase that's painful to change and follow one request from the controller down to the database. Somewhere on the way you'll find a business rule tangled up with SQL, or a validation check th