Hva er SOLID-prinsippene?
De er et sett med designretningslinjer for å forbedre vedlikeholdbarhet og skalerbarhet i programvare.
Opprinnelse
SOLID-prinsippene ble introdusert av Robert C. Martin, også kjent som Uncle Bob, i sitt arbeid med objektorientert design på tidlig 2000-tall. Disse prinsippene er en samling av fem designkonsepter som hjelper utviklere med å lage programvaresystemer.
Definisjon
SOLID er et akronym som står for fem designprinsipper i objektorientert programmering: Enkel Ansvar, Åpen/Lukket, Liskov Substitusjon, Interface Segregation og Dependency Inversion.
Hensikt
Disse prinsippene gir et rammeverk for å designe programvare som er lett å vedlikeholde, forstå og utvide, slik at utviklere kan unngå vanlige design- og arkitekturfeller.
Enkel Ansvar (SRP)
En klasse skal ha bare én grunn til å endre seg.
Åpen/Lukket (OCP)
Programvareenheter skal være åpne for utvidelse, men lukkede for modifikasjon.
Liskov Substitusjon (LSP)
Objekter av en superklasse skal kunne erstattes med objekter fra dens underklasser uten å påvirke funksjonaliteten.
Interface Segregation (ISP)
Mange klientspesifikke grensesnitt er bedre enn ett generelt grensesnitt.
Dependency Inversion (DIP)
Høynivåmoduler skal ikke avhenge av lavnivåmoduler; begge skal avhenge av abstraksjoner.