Principles of Software & Solution Design to have in your toolkit

Below are three sets of highly-thought-of principles of software and solution design side-by-side, such that they can be considered in tandem. You might call them 'Solid Cupid Ideals'!

This is not meant as any kind of comparison; all have their merits, pros and cons, omissions, and terms & conditions, etc. There may well be other respected sets, and I'd love to hear about these if you want to point me in their direction.

For me, this is a cheat sheet of "catchy acronyms" I can store in my toolkit, ready to be called upon when looking at solutions I need to design and plan.


These three are backed up by comprehensive blogs posts detailing the evolution of the work, along with justification and explanation. These posts, and others that discuss the content, should be explored and given due consideration on your solution design and development journey.

Uncle Bob - SOLID - Principles of Object Oriented Design
Dan North - CUPID - For Joyful Coding
Paulo Merson - IDEALS - Principles for Microservice Design