SOLIDny tydzień – zakończenie

Zakończył się mój cykl „SOLIDny tydzień”. Przez te kilka dni starałem Ci się przekazać w jak najprostszych słowach wiedzę o każdej z zasad SOLIDa. Poniżej znajdują się linki do każdego odcinka poświęconego kolejnym literom: – S czyli Single Responsibility – O czyli Open/Closed – L czyli Liskov Substitution – I czyli Interface Segregation – D czyli Dependency Inversion Jeżeli chcesz […]

SOLIDny tydzień – D jak Dependency Inversion

W końcu przyszła pora na ostatnią literę ze zbioru SOLID czyli D – Dependency Inversion Pronciple (DIP) czyli reguła odwrócenia zależności. Łatwa w zrozumieniu. Prosta w implementacji. Idealna na weekend. W skrócie Odwrócenie zależności może niekoniecznie brzmi jak coś oczywistego. Zwłaszcza dla osób, które nie posługują się jeszcze biegle „żargonem” programistycznym. Jednak pod tym określeniem […]

SOLIDny tydzień – I jak Interface Segregation

Jako, że dzisiaj piątek to jest to czas na luźniejszą regułę z grupy SOLID. Dzisiaj na tapecie mamy literę I – Interface Segregation Principle, a więc zasadę segregacji interfejsów. W skrócie Reguła segregacji interfejsów mówi po prostu, że interfejsy powinny być małe i konkretne, tak aby klasy nie musiały implementować metod, których nie potrzebują. Tak […]

SOLIDny tydzień – O jak Open-Closed

Dzisiaj bierzemy na warsztat drugą literę z ze zbioru SOLID czyli ‚O’ jak Open-Closed. Regułę prostą ale bardzo ważną zwłaszcza w większych projektach. W skrócie Open-closed czyli ‚otwarty-zamknięty’ jest regułą głoszącą, że klasa jest otwarta na rozbudowę ale zamknięta na modyfikację. Tak brzmi oficjalna definicja, którą sobie zaraz omówimy. Druga litera zbioru SOLID, tak jak wspomniałem […]

SOLIDny tydzień – S jak Single Responsibility

Pierwszą literą ze zbioru SOLID jaką omówimy będzie S czyli „Single responsibility”. Bo jak coś jest do wszystkiego to jest do niczego. Tak ogólnie mówiąc Zasada pojedynczej odpowiedzialności wydaje się prosta jednak z doświadczenia wiem, że bardzo wiele osób ma z nią problem. Jest tak prawdopodobnie dlatego, że jest to wg mnie najbardziej abstrakcyjna z […]

Wzorce projektowe: dekorator

Czasami przychodzi moment kiedy potrzebujemy istniejące w kodzie klasy uzupełnić o dodatkowe funkcjonalności jednocześnie nie psując już napisanego kodu. Przykładowo dodając logowanie każdej wywołanej metody w klasie, albo uzupełniając zapis do pliku o kompresję danych. Tego typu operacje możemy w prosty sposób dodać do już istniejącego kodu za pomocą wzorca dekorator, którym dzisiaj się zajmiemy. […]

Czy słaby projekt zawsze oznacza STRACONY CZAS?

Zdarzyło Ci się, że projekt, do którego trafiłeś w żaden sposób nie sprostał Twoim oczekiwaniom? To co zastałeś było bardzo niskiej jakości i na pierwszy rzut oka tylko cud trzymał całość przy życiu? Bardzo rzadko jako programista masz możliwość sprawdzenia projektu, w którym będziesz pracował. Coś co na pierwszy rzut oka wygląda ok po zagłębieniu […]