S jak Single responsibility principle, czyli zasada jednej odpowiedzialności

przez | 7 lutego, 2020

Single responsibility principle — Zasada jednej odpowiedzialności

Każda klasa powinna mieć tylko jeden powód do zmiany.

Zgodnie z tą zasadą, każda klasa powinna:

  • Tylko jeden cel istnienia.
  • Tylko jedną odpowiedzialność.
  • Tylko jedno zadanie do wykonania.
  • Tylko jeden powód do modyfikacji.

Regułę tę można stosować do metod, funkcji, klas, modułów oraz pakietów.

Zalety

  • Czytelniejszy kod.
  • Łatwiejsze do zrozumienia.
  • Brak klas-bogów — klas, które robią wszystko (albo bardzo dużo) i są zmieniane przy prawie każdej zmianie w oprogramowaniu.
  • Łatwiejsze modyfikowanie i utrzymywanie oprogramowania.
  • Mała zmiana oprogramowania dotyka tylko jednej klasy.
  • Modyfikacja dotyka tylko obszaru, który chcemy zmienić. Nie dotyka innych obszarów.
  • Mniejsza podatność na błędy.

Wady

  • Dużo klas.

Przykład

  1. Walidator adresu e-mail w oddzielnej klasie, a nie w klasie z danymi użytkownika.
  2. Walidator numeru telefonu w oddzielnej klasie, a nie w klasie z danymi użytkownika.
  3. Klasa zapisująca dane w bazie danych w oddzielnej klasie, a nie w klasie z tymi danymi.
  4. Klasa przechowująca adres oddzielona od klasy z firmą, pracownikiem, klientem.

Wszystkie posty związane z mini projektem: Poznaj zasady SOLID i OOP:

Źródła

Obraz główny

Materiały

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *