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.
Vil du vide mere?
Hvis du vil gå mere i dybden med SOLID —eller bringe denne form for træning til dit team— så lad os tale sammen. Jeg hjælper teams med at forstå og anvende disse begreber. Jeg vil meget gerne høre fra dig!
Hvad er en Alpha-version?
En Alpha-version er en tidlig fase af en softwareprodukt, typisk udgivet ti...
Hvad er en Tech Lead?
En Tech Lead (TL) eller teknisk leder er en rolle, der påtages af en senior...
Hvad er Testing?
Testing, eller testning, er en procedure, der gennemføres for at verificere...
Hvad betyder WET?
WET-princippet, der oversættes til 'Write Everything Twice' eller 'We Enjoy...
Hvad er Test Driven Development (TDD)?
Test-Driven Development (TDD) er en programmeringstilgang, der understreger...