VSA – nTier

Jak zacząć? Czym się różni wróbelek? Tym, że ma jedną nóżkę bardziej? I myślę, że VSA różni się tak samo od nTier, że ma warstwę bardziej. Myślę, że bardziej czytelny będzie, choć oderwany od prawdziwego życia, choć myślę, że mógłby być smaczny. Otóż nTier to taki klasyczny tort, biszkopt, masa, biszkopt, smak, biszkopt, masa, biszkopt – gdzie przeplataniec może być w dowolnej kolejności, a smak do ustalenia z kucharze. Cała idea jest taka, że gdzie i jak nie ukroisz to będzie tak samo (plus losowość wystrojenia na topie). A teraz wyobraź sobie, że, w zależności od twoich potrzeb tort może mieć wiele smaków, i wiele ułożeń i smaków. Dla Ciebie będzie kawowy, dla żony likier, dla dziecka truskawka, dla cioci lawenda 😉 etc etc – a jeszcze najpiękniejsze jest to, że tory będzie wyglądać tak samo jak każdy inny – jak tort. Możesz nawet poprosić, aby dekoracja pasowała i podpowiadała smaki.

Czemu w ogóle o tym piszę, skoro się tak bardzo nie różnią? Ta drobna różnica daje dużą elastyczność, która to z kolei ułatwia i upraszcza proces tworzenia rozwiązywania problemów biznesowych. Jeszcze, to co dla mnie ważne ostatnio, to dedykowany kod, brak wspólnego mianownika, brak 🤮 dziedziczenia, brak reużywalności – w którą przestałem wierzyć. Każda linijka dedykowana tylko jednej konkretnej funkcjonalności.

Przypomnij sobie podejście kontroler, manager, serwis, repozytorium i z powrotem 🔁 – byle do piątku, byle do emerytury…
A teraz wyobraź sobie, że obowiązkowy jest tylko kontroler czy jakiś inny endpoint, reszta zależy tylko od Ciebie i tego co właściwie potrzeba. Bo świat jest piękny gdy każdy jest inny, a wszystko działa tak – jak powinno.

 

Więcej klas, mniej kodu.

Mam czasem takie klasy, które służą za konfiguracje, gdzie trzeba konfigurować z paluszka właściwości, właściwie to większość pracy wtedy polega ^C^V i zmiany części właściwości na inne.

Wyobraźmy sobie taki kod, gdzie trzeba na przykład generować jakieś dokumenty i chcemy mieć ładne “trzcionki” 🤦‍♂️(na wypadek, gdyby ikona była za mało sugerująca).

Continue reading

94 zdania które każdy programista powinien przeczytać

To jest krótsza wersja książki 97 rzeczy, które każdy programista powinien widzieć po jej przeczytaniu chciałem podzielić się tym co tam przeczytałem, jak i lekką interpretacją tamtejszych myśli. Ponieważ czterech z nich nie rozumiem do końca i/lub nie umiem wytłumaczyć to w temacie są tylko 94 (powinny być 93, liczyć też nie umiem), natomiast linki w każdym ze zdań odnoszą się do pełnego rozdziału – pozostawiam tam także oryginalny tytuł (dziękuje za pomysł – hyuli).

Continue reading

Jak sprawdzać parametry wejściowe

Obrazek tytułowy

Oczy me zostały ukłute ostatnie takim oto pytaniem:

“Where are the null checks?”
Nie pamiętam czy to było na poziomie kontrolerów, czy może gdzieś w serwisie, albo gdzieś dalej. Pamiętam tylko, że jeden z przeglądających kod odczuł potrzebę posiadania takiego sprawdzenia, a osoba poddająca się kontroli spełniła tą prośbę, bez najmniejszego zająknięcia się. W taki oto sposób mamy teraz kod: Continue reading

Singleton – wzorzec Schrödingera

Na dwoje babka wróżyła

Czarna owca wśród wzorców projektowych – singleton. Często nazywany antywzorcem – źle. Trochę źle. Singleton w zależności od tego jak będzie używany będzie wykazywać cechy wzorca lub antywzorca.

Antywzorzec

Singleton jako zmienna globalnie dostępna, każdy może do niego sięgnąć i korzystać. Inny, bardziej obiektowy sposób na statyczne/globalne zmienne.

Wzorzec

Continue reading