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.

 

Wspólne modele dla dotnet i typescript

Trawa za płotem bardziej zielona

W Blazor’ze bardzo podoba mi się to, że brane są modele z dotnet (czy to api, czy to dowolna warstwa) i że każda zmiana na “backendzie” za darmo i od razu dostępna na “froncie”. Typescript ma fajne to, że można sobie silnie typować obiekty i że ten javascript jest takie ciut pewniejszy. Angular dla mnie mocno przypomina MVC więc z niego korzystam – ale! Jestem dobry w narzekanie; ale nie ma tego co ma blazor – a ja bym chciał. Bo takie przepisywanie modeli z dotnet na typescript to jest nudne, coś zmienisz, albo machniesz literówkę i trzeba szukać. Lubię też się wyręczać robotą kogoś innego 😉

google is your friend

Także poszukałem jak to ogarnąć. Co? No to, jak z klas w dotnet generować  klasy / kod do typescript, który można potem wykorzystać w projekcie na froncie.

Continue reading

asp mvc routing gwiazda tematu

ASP MVC Routing interpretacja obrazkowa

ASP MVC Routing potrafi cuda, dzisiaj o jednym z nich. Otóż w prosty sposób można zdefiniować routing, który łapać będzie żądania, które nie pasują do wcześniej zdefiniowanych reguł. Należy uważać oczywiście na kolejność definiowania routingów, bo wpływa ona na zachowanie aplikacji. Pierwszy pasujący do wzorca, będzie brany pod uwagę. Core gra trochę inaczej ale to zaznaczę w tekście.

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