Single Responsibility Principle (SRP)

Het Single Responsibility Principle (SRP) is het concept dat een enkel object in object-georiënteerd programmeren (OOP) voor één specifieke functie moet worden gemaakt. SRP maakt deel uit van de SOLID programmeerprincipes die door Robert Martin naar voren zijn gebracht. Traditioneel heeft code die in overeenstemming is met SRP  een enkele functie per klasse.

SRP is bedoeld om code modulair te maken met minder problemen als gevolg van onderlinge afhankelijkheden. Door code meer modulair te maken en te bundelen in functies wordt de code beter herbruikbaar en wordt voorkomen dat tijd wordt verspild aan het hercoderen van wat al is gedaan. Het gebruik van SRP zou helpen bij het updaten van code, omdat er minder punten van zorg zijn als een bepaalde functie moet worden bijgewerkt.

Critici van SRP wijzen erop dat de praktijk vaak resulteert in talloze stukjes code die aan elkaar worden geknoopt met te veel microservices. Martin heeft echter ook aanbevolen dat gerelateerde functies niet strikt geïsoleerd hoeven te zijn om in overeenstemming te zijn met SRP, door te zeggen: "Verzamel de dingen die om dezelfde redenen veranderen. Scheid de dingen die om verschillende redenen veranderen."