Zasady SOLID zostały wymyślone przez znanego amerykańskiego programistę Roberta Martina. Słynie on ze swojego podejścia do czystego kodu, przyczynił się także do rozwoju manifestu zwinnego programowania. O tym jak poprawić obiektowe programowanie w Pythonie przeczytacie w najnowszym artykule SOLID Principles: Improve Object-Oriented Design in Python w serwisie Real Python.
Dodano: 2023-05-04 07:55, Autor: st, Kategoria: Programowanie, Liczba wyświetleń: 2800 english translation »
SOLID w tekście na Real Python
SOLID:
- Single Responsibility Principle - Zasada jednej odpowiedzialności
- Open/Closed Principle - Zasada otwarte - zamknięte
- Liskov Substitution Principle - Zasada podstawienia Liskov
- Interface Segregation Principle - Zasada segregacji interfejsów
- Dependency Inversion Principle - Zasada odwrócenia zależności
Stosowanie SOLID ma duże znaczenie, gdy po czasie wracamy do kodu lub jeszcze bardziej, gdy "siadamy" do zupełnie nam obcego kodu. Wtedy:
- zamiast jednej klasy zawierającej 3000 linii kodu mamy 30 małych klas, gdzie każda odpowiada za konkretną rzecz (zasada pojedynczej odpowiedzialności),
- można szybko poszerzyć funkcjonalności każdej klasy bez konieczności przerabiania kodu np. poprzez dziedziczenie i polimorfizm (zasada otwarty/zamknięty),
- klasy pochodne implementują wszystkie metody klas bazowych i nie musimy tego sprawdzać (zasada liskov substitution),
- mamy małe interfejsy (często tylko z jedną metodą), dzięki czemu jesteśmy w stanie zaimplementować w nowo dopisanej przez nas klasie dwa interfejsy których potrzebujemy i ani jednego więcej, bez dodawania kolejnych metod (interface segregation),
- używamy typów abstrakcyjnych tam gdzie to tylko możliwe (np. w parametrach funkcji).
- Discord (online: ) «»
-
Online: 14
- AmiKit
- Archi-TECH
- Cizar
- IMPBot
- juen
- Laubzega
- m...
- MaaG^dA
- Marek_B
- Nightmare777
- Patu
- spazma
- SZAMAN
- ZeeWolf
-
komentarz #1 wysłany: 2023-05-04 08:41
Jeśli komuś nie chce się czytać tekstu (a nie jest programistą) to wrzuciłem wyjaśnienie w punktach o co chodzi. Ale warto przerobić tekst z przykładami - jak zwykle najwyższa jakość w Real Python.
- Discord
-
Online: 14
- AmiKit
- Archi-TECH
- Cizar
- IMPBot
- juen
- Laubzega
- m...
- MaaG^dA
- Marek_B
- Nightmare777
- Patu
- spazma
- SZAMAN
- ZeeWolf
- Menu
- Baza wiedzy
- Simon's Podcast
-
- #11: jak kot w smole
25-07 czas: 22 min - #10: kodowanie upadku
10-07 czas: 33 min - #9: infantylny Mefisto
26-06 czas: 26 min
- #11: jak kot w smole