W obiektowym podejściu do rozwijania oprogramowania warto kierować się zasadą SOLID. Praktyki w niej zawarte zostały zebrane przez sławnego Uncle Bob’a (Robert C. Martin), a Michael Feathers stworzył do tego piękny mnemonik. Dzięki tej grze słów (solid - solidny, mocny) akronim zyskał dużą popularność.

Solid, czyli solidny
SOLID “wmurował się” jako podstawa programowania obiektowego

Ten artykuł ma na celu zebranie wszystkich odwołań do artykułów wyjaśniających każdą z zasad. Poniżej znajduje się ich lista, którą będę sukcesywnie uzupełniał (co 2 dni). Przejdźmy zatem do wyjaśnienia zasad kryjących się za każdą z literek:

#1 - Single responsibility principle (SRP) - Zasada jednej odpowiedzialności
#2 - Open/closed principle (OCP) - Zasada otwarte-zamknięte
#3 - Liskov substitution principle (LSP) - Zasada podstawienia Liskov
#4 - Interface segregation principle (ISP) - Zasada segregacji interfejsów
#5 - Dependency inversion principle (DIP) - Zasada odwrócenia zależności

Osobista rada

Na koniec chciałbym przekazać Ci, że nie zawsze należy podążać na ślepo za tymi zasadami. Na pewno spotkasz się z takimi sytuacjami, gdzie uzasadnione będzie złamanie wszystkich pięciu reguł. Początkowo klasa z dużą ilością odpowiedzialności może być jedynym wyjściem. W ramach ewolucji kodu będzie można się ich pozbywać. Po prostu czasami może to nie być opłacalne biznesowo, aby rozdrabniać się nad implementacją, która nie będzie dla nas kluczowa.

Think for yourself. Question authority.

Timothy Francis Leary

Poza tym tak jak ze wszystkim, na początku trzeba coś zrozumieć, aby móc się tym z pełną świadomością posługiwać. Korzystanie z czegoś “bo ktoś powiedział, że tak trzeba” mija się z celem. Z tego powodu dobrze jest się zapoznać z powyższym cytatem i mieć go w pamięci. Ogólnie rzecz ujmując warto wiedzieć czym jest SOLID, ponieważ to podejście jest znane wśród programistów. Może być dobrym punktem wyjścia do rozpoczęcia rozmów technicznych.

Podziel się swoją opinią o postrzeganiu SOLID. Napisz w komentarzu bądź wyślij do mnie maila czy uważasz, że zawsze trzeba kurczowo podążać za ustalonymi zasadami czy jednak można je uznać tylko jako wskazówki. Nie mogę się doczekać, aby zapoznać się z Twoim punktem widzenia!