• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[blog] Zasady SOLID w praktyce

Object Storage Arubacloud
+2 głosów
336 wizyt
pytanie zadane 3 marca 2019 w Offtop przez marcin99b Szeryf (82,160 p.)
Pora na kolejny post na blogu, po tygodniowej przerwie

Tym razem na temat zasad SOLID

Link do posta => https://wp.me/paEPwh-1a

Zacząłem też serie na blogu (uniwersalny programista), do której ten post należy => https://wp.me/paEPwh-1f

Piszcie gdyby coś było niezrozumiałe lub słabo wytłumaczone, post prawdopodobnie będzie się zmieniał z czasem, będą pojawiać się linki do innych postów itd
komentarz 4 marca 2019 przez Hiskiel Pasjonat (22,830 p.)
Szczerze, to jak dla mnie przykład z dyskiem google w OCP jest trochę chaotyczny i nie za bardzo wiem co chciałeś przekazać :v

2 odpowiedzi

+1 głos
odpowiedź 4 marca 2019 przez Comandeer Guru (601,110 p.)

Strasznie brakuje przykładów kodu – wpis bez nich wydaje się suchy.

Dodatkowo opis LSP wydaje mi się mocno niejasny. Chodzi wszak o to, by implementacje danego interfejsu były ze sobą spójne – nie ma konieczności wchodzenia w tak zagmatwane szczegóły. Przedstawiona w przykładzie metoda Run implementowana na interfejsie IAnimal jest IMO przykładem łamania zasady ISP (ogólny interfejs zawiera specjalistyczną metodę). W LSP raczej chodzi bardziej w drugą stronę: klasa potomna implementuje interfejs w niekompatybilny sposób (np zwraca inny rodzaj danych niż bazowy interfejs).

Z kolei w ISP zastanowiłbym się, czy na pewno dobrze jest rozszerzać poszczególne interfejsy? Osobiście raczej komponowałbym kilka różnych interfejsów zamiast robił ich hierarchię.

0 głosów
odpowiedź 4 marca 2019 przez mbabane Szeryf (79,280 p.)

Warto też zwrócić uwagę na to co docelowo oznacza SRP. W Czystym kodzie pierwsze zdanie mówi:

Zasada pojedynczej odpowiedzialności (SRP) zakłada, że klasa lub moduł powinny mieć jeden
i tylko jeden powód do zmiany. Zasada ta zarówno definiuje odpowiedzialność, jak i daje wskazówki
odnośnie do wielkości klas. Klasy powinny mieć jedną odpowiedzialność — jeden powód do zmiany

Dodatkowo w kolejnej pozycji Martina Czysta Architektura, podkreślone jest to w ten sposób:

... (SRP), jest chyba najsłabiej zrozumiała. Prawdopodobnie wynika to z tego, że ma ona trochę niewłaściwą nazwę. Programiści, słysząc tę nazwę, od razu zakładają, że każdy z modułów powinien wykonywać tylko jedno zadanie. 

Podobne pytania

0 głosów
1 odpowiedź 340 wizyt
pytanie zadane 17 grudnia 2019 w Nasze projekty przez cSharpKazik Użytkownik (840 p.)
+1 głos
0 odpowiedzi 475 wizyt
pytanie zadane 7 lipca 2019 w Offtop przez marcin99b Szeryf (82,160 p.)
+2 głosów
2 odpowiedzi 724 wizyt
pytanie zadane 11 czerwca 2019 w Offtop przez marcin99b Szeryf (82,160 p.)

92,565 zapytań

141,418 odpowiedzi

319,604 komentarzy

61,951 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...