SOLID
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å.

Programutveckling

de:Prinzipien Objektorientierten Designs#SOLID Prinzipien
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åtalet , och akronymen SOLID myntades av Michael Feathers . Den står för : Single responsibility principle ( SR P ) – En klass ska ha endast ett enda ansvarsområde och därmed endast ett enda skäl att ändras . Open/closed principle ( OC P ) – 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 ( DI P ) – Klasser ska inte vara beroende av varandra utan av abstrakta gränssnitt som tillhandahålls på en högre nivå . Programutveckling de :Prinzipien Objektorientierten Designs#SOLID Prinzipien