Hvad er SOLID-principperne?
De er et sæt designretningslinjer til at forbedre vedligeholdelsen og skalerbarheden af software.
Oprindelse
SOLID-principperne blev introduceret af Robert C. Martin, også kendt som Uncle Bob, i hans arbejde med objektorienteret design i begyndelsen af 2000'erne. Disse principper er en samling af fem designkoncepter, der hjælper udviklere med at skabe softwaresystemer.
Definition
SOLID er et akronym, der står for fem designprincipper i objektorienteret programmering: Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation og Dependency Inversion.
Formål
Disse principper giver et rammeværk for at designe software, der er nemt at vedligeholde, forstå og udvide, hvilket gør det muligt for udviklere at undgå almindelige design- og arkitekturfaldgruber.
Single Responsibility (SRP)
En klasse bør kun have én grund til at ændre sig.
Open/Closed (OCP)
Softwareenheder bør være åbne for udvidelse, men lukkede for modification.
Liskov Substitution (LSP)
Objekter af en superklasse bør kunne udskiftes med objekter af dens underklasser uden at påvirke funktionaliteten.
Interface Segregation (ISP)
Mange klient-specifikke interfaces er bedre end ét generelt interface.
Dependency Inversion (DIP)
Højniveau-moduler bør ikke afhænge af lavniveau-moduler; begge bør afhænge af abstraktioner.