
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
1
/
30


Tooltip | Bubble.io Quick Tip

Dodawanie i Pobieranie Plików - Upload and Download File | Bubble.io TUTORIAL

2 Kolumnowe Okienko Logowania - 2 Column Login Popup| Bubble.io Quick Tip

KB_ZW_0151 - Refleksje Na Temat Zarządzania Wiedzą: Przepływ

Dynamiczny formularz - Dynamic Form| Bubble.io Quick Tip

Przeglądanie PDFów - PDF File System| Bubble.io Quick Tip

Generowanie PDFa - Create PDFs| Bubble.io TUTORIAL

Zaproszenia do Zespołu - Team Invitations| Bubble.io TUTORIAL

Role Użytkowników - Visibility by User Roles| Bubble.io TUTORIAL

Generowanie SHA256 - Hash Text in SHA256| Bubble.io Quick Tip

KB_ZW_0150 - Refleksje Na Temat Zarządzania Wiedzą: Działanie

Przyciski udostępniania| Bubble.io TUTORIAL

Powiadomienia - Notifications| Bubble.io TUTORIAL

Strona profilowa - Profile Page| Bubble.io TUTORIAL

Wgrywanie Wielu Zdjęć - Picture Uploadin| Bubble.io TUTORIAL

Unikalność Loginów - Check If A Username Is Taken| Bubble.io Quick Tip

Dwa Dropdowny Wykluczające Się z Wartościami Domyślnymi| Bubble.io TUTORIAL

Dwa Dropdowny Wykluczające Się| Bubble.io TUTORIAL

Pełna lista w Repeating Group - Repeating Group Full List| Bubble.io Quick Tip

Przezroczyste tło nagłówka - Transition Header Background| Bubble.io TUTORIAL

KB_ZW_0149 - Refleksje Na Temat Zarządzania Wiedzą: Najważniejsze

Kopiowanie tekstu do schowka - Copy Text to Clipboard| Bubble.io Quick Tip

Kopiowanie elementów do inne aplikacji - Copy elements| Bubble.io Quick Tip

Automatyczne Wylogowywanie - Automatically Log an Inactive User Out| Bubble.io Quick Tip

Przetwarzanie danych w Popupie - Processing Data in Popups| Bubble.io TUTORIAL

Gra Wordle - Build Wordle| Bubble.io TUTORIAL BUDOWA APLIKACJI

Naucz się Tworzyć Aplikacje - Learn to Build Apps| Bubble.io TUTORIAL

Filtrowanie mnniejszych i większych niż - Filtering by Greater & Less Than| Bubble.io Quick Tip

KB_ZW_0148 - Refleksje Na Temat Zarządzania Wiedzą: Poranki

Szukanie w obszarze i podawanie odległości - Finding In Radius And Distance| Bubble.io Quick Tip
1
/
30
