The SOLID principles are a set of principles defined by Robert Martin (“Uncle Bob”) which tells us how to arrange grouping of data and functions (sometimes called “classes” and “modules”) in a system

The goal of these principles is to create (software) structures that

  • are easy to tolerate change
  • are easy to understand
  • form the basis of reusable components