Dlaczego LOGIKA w KONTROLERACH to zło?

Być może spotkałeś się w internecie ze stwierdzeniem, że nie powinieneś umieszczać logiki w kontrolerach. A jeśli się nie spotkałeś w internecie to spotkasz się przy pierwszej okazji kiedy pokażesz komuś doświadczonemu kod swojej aplikacji webowej. O co tutaj chodzi? Dlaczego nie powinno się tej logiki pakować do kontrolera? Jakie są tego wady? Tego dowiesz […]

[Code review] Niby oddzielnie, a jednak razem

W tej części code review na chwilę zostawiam projekt pana kmph i przechodzimy do projektu Bartosza, który również wysłał mi swoje zgłoszenie. Tym razem mamy do czynienia z webową aplikacją pogodową pisaną w ASP.NET Web API. Autor poprosił aby ocenić jedynie API bez części frontendowej. Link do GitHuba macie tutaj: https://github.com/Zscfg/WeatherApp/tree/master/WeatherAppApi Kod pokazywany w tym wpisie […]

[Code review] Obozy kodu

Kontynuujemy przygodę z publicznym code review. Tym razem do sprawdzenia dostałem kod gry webowej od osoby, która chciała być podpisana jako kmph. Bardzo dziękuję autorowi za podzielenie się swoim projektem. Jest on o tyle ciekawy z punktu widzenia tej serii, że na pierwszy rzut oka wygląda jak przyzwoity kod, jednak zagłębiając się w szczegóły można dostrzec […]

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 […]