SOLID pomeni nabor temeljnih načel načrtovanja programske opreme, ki se uporablja za ustvarjanje vzdrževanih, razširljivih in prilagodljivih sistemov. SOLID je akronim, sestavljen iz začetnih črk teh petih načel:
S- Single Responsibility Principle
Razred ali modul mora imeti samo eno odgovornost. To pomaga pri lažjem vzdrževanju in spreminjanju kode brez vpliva na druge funkcije.
O- Open/Closed Principle
Koda mora biti odprta za razširitev(dodajanje novih funkcij), vendar zaprta za spreminjanje(brez spreminjanja obstoječe kode). To spodbuja uporabo dedovanja, vmesnikov ali drugih razširitvenih mehanizmov za dodajanje novih funkcij brez spreminjanja obstoječe kode.
L- Liskov Substitution Principle
Objekti podrazreda morajo biti nadomestljivi za objekte nadrejenega razreda, ne da bi to vplivalo na pravilnost programa. To zagotavlja varno in pravilno izvajanje dedovanja.
JAZ- Interface Segregation Principle
Bolje je imeti majhne in specifične vmesnike namesto velikega vmesnika s številnimi metodami. To pomaga preprečiti, da bi bili razredi prisiljeni implementirati nepotrebne metode.
D- Dependency Inversion Principle
Moduli na visoki ravni ne bi smeli biti odvisni od modulov na nizki ravni. Oboje bi moralo biti odvisno od abstrakcij. To načelo spodbuja uporabo vbrizgavanja odvisnosti za zmanjšanje tesne povezanosti med moduli in olajšanje testiranja in razširitve sistema.
SOLID načela izboljšajo strukturo kode, spodbujajo modularnost in zmanjšajo tveganje, povezano s spremembami. Ta načela je mogoče uporabiti v različnih programskih jezikih in razvojnih okoljih.