The solid principles as one liners


SOLID is an acronym which stands for

  • Single responsibility principle – every software entity (object, module etc) should have only a single responsibility and one reason to change.
  • Open/closed principle – every software entity should be open for extension, but closed for modification.
  • Liskov substitution principle – closely related to design by contract and it means that objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program.
  • Interface segregation principle – many client specific interfaces are better than one general purpose interface, i.e. that a client should not depend on methods they don’t use.
  • Dependency inversion principle – a software entity should depend upon abstractions and not depend on details.

See Uncle Bob’s blog post for more information.