SOLID
Utseende
Den här artikeln behöver källhänvisningar för att kunna verifieras. (2020-08) Åtgärda genom att lägga till pålitliga källor (gärna som fotnoter). Uppgifter utan källhänvisning kan ifrågasättas och tas bort utan att det behöver diskuteras på diskussionssidan. |
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å.