The key difference is in where the business-rules are implemented. With MVC, that would be in the controller. As a result, the same business rule might be implemented in multiple controllers. With clean architecture, the business rules are implemented in use-cases and in the entities. As a result, controllers don't contain much logic/code any more and the business rules aren't duplicated because they've been implemented in one central place.

Another key difference is that clean architecture is a domain-centric kind of software architecture. The database is not the most important aspect of the architecture any more. In older architecture styles, the database makes sure the business rules apply. The software is just an interface on the database. In clean architecture it's the other way around. The database is just a resource, the application is the most important part of the software architecture now. (Note that this is not always desired!)

And about "clean".. (Or dirty for that matter..) Whatever is clean or not, is just an opinion. What matters is that we make customers happy with working software.

Cheers! Thanks for your response. Hope this helps!

dotnet/Azure consultant @ vxcompany.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store