SOLID w telegraficznym skrócie

Single responsibility principle
Zasada mówiąca o tym by dana klasa realizowała wyłącznie jedno zadanie.

Open/close principle
Zasada mówiąca o tym by twój kod był otwarty na rozszerzenia ale zamknięty na modyfikację.

Liskov substitution principle
Twój ko powinien poprawnie współpracować z klasą i wszystkimi klasami po niej dziedziczącymi.
A jeśli klasa implementuje pewien interfejs to wszystkie jego implementacje powinny poprawnie działać z Twoją klasą/metodą.
Klasa nie powinna nadpisywać metod klasy bazowej (może je wywoływać np. poprzez konstrukcję super).

Interface segregation principle
Zasada mówi o tym, by zamiast jednego wielkiego interfejsu z mnóstwem metod utworzyć wiele małych i implementować tylko te, których metody potrzebujemy.

Dependency inversion principle
Wysokopoziomowe moduły nie powinny zależeć od modułów niskopoziomowych – zależności między nimi powinny wynikać z abstrakcji.
Poleca się np. używanie interfejsu polimorficznego wszędzie tam gdzie to możliwe, szczególnie w parametrach funkcji.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *