SOLID

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

Although the SOLID principles apply to any object-oriented design, they can also form a core philosophy for methodologies such as agile development or adaptive software development.

[1] Single-responsibility principle (SRP) states that "[t]here should never be more than one reason for a class to change.

[3] Open–closed principle (OCP) states that "[s]oftware entities ... should be open for extension, but closed for modification.

[8][7] Software engineer and instructor, Robert C. Martin,[9][10][1] introduced the collection of principles in his 2000 paper Design Principles and Design Patterns about software rot.