Web Analytics
eXec.plMAGAZYN UŻYTKOWNIKÓW KOMPUTERÓW AMIGA

Dodano: 2023-05-04 07:55, Autor: st, Kategoria: Programowanie, Liczba wyświetleń: 1821 english translation »

A A A

SOLID w tekście na Real Python

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.

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).
Źródło: realpython.com

Dodaj komentarz

Zobacz podobne newsy:
python
Discord (online: ) «»
Online: 9
  • Archi-TECHArchi-TECH
  • CizarCizar
  • IMPBotIMPBot
  • juenjuen
  • LaubzegaLaubzega
  • m...m...
  • MaaG^dAMaaG^dA
  • Marek_BMarek_B
  • Nightmare777Nightmare777
dołącz do kanału »
SZAMAN
Redaktor

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.

Odpowiedz

Discord
Online: 9
  • Archi-TECHArchi-TECH
  • CizarCizar
  • IMPBotIMPBot
  • juenjuen
  • LaubzegaLaubzega
  • m...m...
  • MaaG^dAMaaG^dA
  • Marek_BMarek_B
  • Nightmare777Nightmare777
dołącz do kanału »
Menu
O tym piszemy
Baza wiedzy