Zasady SOLID to pięć podstawowych zasad podpowiadających jak pisać dobry kod zorientowany obiektowo. Zaproponował je słynny Amerykański programista Robert Martin. Jest on także jednym z twórców manifestu zwinnego programowania agile.
Kamil Ruchała / SarvenDev |
Krótki opis | |
---|---|---|
#1 SOLID – Single responsibility principle | Sama umiejętność rozwiązania problemu nie jest wystarczająca, aby było ono dobrej jakości. W celu zapewnienia sobie spokojnej przyszłości w pracy z łatwym w rozwoju oraz utrzymaniu kodzie należy przestrzegać pewnych zasad. SOLID SOLID jest mnemonikiem ułatwiającym zapamiętanie pięciu podstawowych zasad programowania obiektowego. SRP – Single responsibility principle (Zasada pojedynczej odpowiedzialności) OCP – Open/closed principle (Zasada […] | |
#2 SOLID – Open/closed principle | Projektując poważny system musimy mieć na uwadze jego przyszłą ewolucję. Kolejną z zasad SOLID, która pozwoli nam w spokoju rozwijać nasz kod jest Open/closed principle. Mówimy nam ona o tym, że kod powinien być otwarty na rozbudowę oraz zamknięty na modyfikację. Co to znaczy? Najprostszym sposobem na ocenienie czy nasz kod jest zgodny z tą […] | |
#3 SOLID – Liskov substitution principle | Kolejną z zasad SOLID pozwalających na tworzenie dobrej jakości rozwiązań jest zasada Liskov substitution principle(Zasada podstawiania Liskov). Sformułowana ona została przez Barbarę Liskov w książce Data Abstraction and Hierarch. Definicja prezentuje się w następujący sposób. Let f(x) be a property provable about objects x of type T. Then f(y) should be true for objects y of type S where S is a subtype of T. […] | |
#4 SOLID – Interface segregation principle | W klasie implementującej interfejs znaleźć muszą się implementacje wszystkich metod zawartych w tym interfejsie. W przypadku gdy w danej klasie nie potrzebujemy wszystkich metod, pojawia się problem. Przestrzeganie kolejnej z zasad programowania obiektowego SOLID pozwoli nam uniknąć takich kłopotów. Zasada Interface segregation principle mówi nam, że klasa nigdy nie powinna być zmuszana do implementacji metod, których […] | |
#5 SOLID – Dependency inversion principle | Opierając się na szczegółowej implementacji klasy podczas wstrzykiwania zależności tworzymy sprzężenie pomiędzy klasą a zależnością. Kod staje się sztywny, a ewentualna podmiana zależności stanowi problem. W celu stworzenia elastycznego rozwiązania powinniśmy przestrzegać zasady Dependency inversion principle, która prezentuje się następująco: Moduły wysokopoziomowe nie powinny zależeć od modułów niskopoziomowych. Jedne i drugie powinny zależeć od abstrakcji. […] |