Zasada SRP jest jedną z najważniejszych koncepcji programowania obiektowego. “Klasa powinna mieć jeden i tylko jeden powód do zmian.” Zastosowanie wysokiej spójności pozwala zrealizować zasadę jednej odpowiedzialności.
Przy zastosowaniu zasady jednej odpowiedzialności, kod będzie składał się z dużej ilości “małych” klas, zamiast kilku złożonych.
Zalety “małych klas”:
- łatwość zarządzania prostą klasą
- łatwość wprowadzania zmian
- możliwość wielokrotnego użycia klasy w różnych miejscach aplikacji
Przykład programu przed wdrożeniem zasady SRP:
Klasa Login w przedstawionym kodzie ma dwa zadania: funkcję pobierającą login oraz walidację hasła dla tego loginu. Te dwie funkcjonalności proponuję rozdzielić na dwie klasy: Login i ValidatorPassword.
Poniższy kod jest zgodny z zasadą jednej odpowiedzialności: