SOLID

Från Wikipedia
För det fysikaliska tillståndet, se Fast form.

SOLID är en uppsättning principer för objektorienterad programmering och design. Principernas mål är att göra system enklare att utveckla, förstå, underhålla och utökas. De används ofta i kombination med testdriven utveckling och agil systemutveckling.

De fem principerna samlades av Robert C. Martin i början på 2000-talet, och akronymen SOLID myntades av Michael Feathers. Den står för:

  • Single responsibility principle (SRP) – En klass ska ha endast ett enda ansvarsområde och därmed endast ett enda skäl att ändras.
  • Open/closed principle (OCP) – Klasser ska vara öppna för utökning (genom arv), men låsta för modifiering.
  • Liskov substitution principle (LSP) – Objekt av en klass ska kunna ersättas med objekt av subklasser utan att programmets funktion ändras.
  • Interface segregation principle (ISP) – Gränssnitt ska vara många och enkla, inte få och omfattande, så att ett program inte är beroende av metoder som det inte använder.
  • Dependency inversion principle (DIP) – Klasser ska inte vara beroende av varandra utan av abstrakta gränssnitt som tillhandahålls på en högre nivå.