ZASADY SOLID
Single Responsibility Principle -SRP
Zasada pojedynczej odpowiedzialności
Zasada pojedynczej odpowiedzialności mówi, że każda klasa, moduł lub funkcja powinny mieć tylko jedno, jasno określone zadanie. W praktyce oznacza to, że każdy komponent w aplikacji powinien odpowiadać tylko za jeden aspekt funkcjonalności systemu.
Open/Closed Principle – OCP
Zasada Otwarte-Zamknięte
Klasy, moduły lub funkcje powinny być otwarte na rozbudowę, ale zamknięte na modyfikacje. Oznacza to, że powinniśmy być w stanie dodawać nową funkcjonalność bez konieczności zmieniania istniejącego kodu
Liskov Substitution Principle – LSP
Zasady Podstawienia Liskov
Ta zasada mówi, że obiekty w programie powinny być zastępowalne instancjami ich podklas bez wpływu na prawidłowość działania programu.
Innymi słowy, jeśli klasa B jest podklasą klasy A, to powinniśmy być w stanie zastąpić obiekt klasy A obiektem klasy B, a program powinien działać poprawnie.
Interface Segregation Principle – ISP
Zasada segregacji interfejsów
Zasada segregacji interfejsów mówi, że nie powinno się zmuszać klienta (klasy lub obiektu) do implementowania interfejsów, których nie potrzebuje. Zamiast jednego dużego interfejsu, lepiej jest stworzyć kilka mniejszych, bardziej specyficznych interfejsów
Dependency Inversion Principle – DIP
Zasada odwracania zależności
Zasada odwracania zależności mówi, że zamiast polegać na konkretnych implementacjach, kod powinien polegać na abstrakcjach. Dzięki temu nasze moduły są bardziej elastyczne, łatwiejsze do testowania i utrzymania. Chodzi o to, aby zmiany w implementacjach nie wpływały bezpośrednio na moduły, które je wykorzystują.