Mateusz Wajnberger

Single Responsibility Principle

Zasada pojedyńczej odpowiedzialności oznacza, że dana klasa powinna być odpowiedzialna tylko za jedną rzecz, a co za tym idzie wykonywać tylko jedną funkcjonalność. Nigdy nie powinien istnieć więcej niż jeden powód do modyfikacji danej klasy. 

Przykład 

Jako przykład weźmiemy poniższą klasę. 

public class Person {

private String name;
private String lastName;
private String city;
private String street;
private String houseNumber;

public Person(String name, String lastName) {
this.name = name;
this.lastName = lastName;
}
}

Zastosowanie Single Responsibility Principle

Powyższa klasa zawiera atrybuty takie jak imię i nazwisko, ale także związane z adresem zamieszkania, które moglibyśmy przenieść do innej klasy, żeby nikt w przyszłości nie musiał refaktoryzować naszego kodu chcąc przechować sam adres. Zastosowanie omawianej metody widzimy na poniższym przykładzie.

public class Person {

private String name;
private String lastName;

public Person(String name, String lastName) {
this.name = name;
this.lastName = lastName;
}
}
public class Address {

private String city;
private String street;
private String houseNumber;
}

Podsumowanie

SRP to jedna z ważniejszych zasad w programowaniu obiektowym. Do najważniejszych zalet należy łatwe utrzymanie aplikacji posiadając większą ilość klas, wdrażanie nowego kodu jest o wiele szybsze,  a pisanie testów jednostkowych jest w tej sytuacji o wiele prostsze. 

mateusz.wajnberger@gmail.com