Spis treści
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
- Walidator adresu e-mail w oddzielnej klasie, a nie w klasie z danymi użytkownika.
- Walidator numeru telefonu w oddzielnej klasie, a nie w klasie z danymi użytkownika.
- Klasa zapisująca dane w bazie danych w oddzielnej klasie, a nie w klasie z tymi danymi.
- Klasa przechowująca adres oddzielona od klasy z firmą, pracownikiem, klientem.
Wszystkie posty związane z mini projektem: Poznaj zasady SOLID i OOP:
- Początek mini projektu: Poznaj zasady SOLID i OOP
- SOLID
- S jak Single responsibility principle, czyli zasada jednej odpowiedzialności
- O jak Open-closed principle, czyli zasada otwarte/zamknięte
- L jak Liskov Substitution Principle, czyli zasada podstawień Barbary Liskov
- I jak Interface segregation principle, czyli Zasada segregacji interfejsów
- D jak Dependency Inversion Principle, czyli Zasada odwrócenia zależności
- CS jak Ćwiczenia Single responsibility principle, czyli zasada jednej odpowiedzialności
- CO jak Ćwiczenia Open/closed principle, czyli Zasada otwarte-zamknięte
- CL jak Ćwiczenia Liskov Substitution Principle, czyli zasada podstawień Barbary Liskov
- CI jak Ćwiczenia Interface segregation principle, czyli Zasady segregacji interfejsów
- CI jak Ćwiczenia Dependency Inversion Principle, czyli Zasada odwrócenia zależności
- Ćwiczenia z SOLID
- Podsumowanie połowy projektu: Poznaj zasady SOLID i OOP
- Ćwiczenia z SOLID — Kata
- OOP — Object Oriented Programming, czyli programowanie obiektowe
- OOP — Myślenie obiektowe
- OOP — Object Oriented Programming, czyli programowanie obiektowe — Modelowanie dziedziny
- KISS — Keep it simple, stupid, czyli Bez udziwnień zapisu, idioto (BUZI)
- Lod — Law of Demeter, czyli Prawo Demeter
- DRY — Don’t repeat yourself, czyli Nie powtarzaj się
- SLAP — Single Level of Abstraction Principle, czyli Pojedynczy poziom abstrakcji
- Composition Over Inheritance, czyli Kompozycja ponad dziedziczeniem
- Encapsulate what changes, czyli Ukrywaj zmieniające się rzeczy
- Podsumowanie projektu: Poznaj zasady SOLID i OOP
- Podsumowanie zasad SOLID i OOP
- Mini kurs: Poznaj zasady SOLID i OOP – Zapisz się!
- Praca cząstkowa w Metodzie Kanban
Źródła
Obraz główny
Materiały
- https://pl.wikipedia.org/wiki/Zasada_jednej_odpowiedzialno%C5%9Bci
- https://en.wikipedia.org/wiki/Single_responsibility_principle
- SRP: The Single Responsibility Principle – Robert C. Martin – https://drive.google.com/file/d/0ByOwmqah_nuGNHEtcU5OekdDMkk/view
Sorry, there was a YouTube error.