Published on

SOLID (object-oriented computer programing)

In object-oriented computer programming, SOLID is a mnemonic acronym for five design principles intended to make software design more understandable, flexible, and maintainable.

Single-responsibility principle

A class should only have a single responsibility, that is, only changes to one part of the software's specification should be able to affect the specification of the class.

Open-closed principle

Software entities should be open for extension, but closed for modification.

Liskov substitution principle

Objects in a program should be replacable 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

Dependency inversion principle

One should "depend upon abstractions, [not] concretions"

Reference