Narzędzia

Smart Enum

Gdyby enumy miały metody

Typy wyliczeniowe w C# są przydatne i przeważnie z jeden czy dwa przewijają się w każdym projekcie. Niestety prawie zawsze idą w parze z instrukcją switch, a to z kolei może wiązać się z łamaniem zasady otwarte-zamknięte z SOLID. Pomocny może być tu samoopisujący się enum, ale do tego musielibyśmy mieć możliwość definiowania w nim […]

Narzędzia

Dapper – podstawy

Proste i szybkie łączenie się z bazą danych

W życiu każdego człowieka programisty i programistki przychodzi czas, że musi połączyć się z bazą danych. Są na to sposoby mniej i bardziej finezyjne. Dzisiaj pokażę Ci jeden z najprostszych, jakie znam, a zarazem najbardziej wydajnych. Z powodzeniem stosuję go w codziennej pracy – do odczytu danych, lub do pełnego CRUDa w prostej aplikacji. Dapper […]

Narzędzia

Mediator i MediatR

Implementacja CQRS w praktyce

Mediator to wzorzec projektowy, z kategorii wzorców zachowań. Odpowiada za komunikację między obiektami. Tworzymy tu centralny obiekt, który obsługuje nasze żądania (request) i ewentualnie zwraca odpowiedzi (response). Porównuje się go często do wieży kontroli lotów – samoloty nie  rozmawiają ze sobą bezpośrednio, to wieża kontroluje ich położenie i wydaje im odpowiednie komendy. To jeden z […]

Narzędzia

Proste logi z Serilog

Konfigurowanie loggera nigdy nie było prostsze

Nie wiem jaka biblioteka jest najbardziej powszechna na rynku, bo odkąd zobaczyliśmy Seriloga dwa lata temu, to nie było potrzeby szukać innego rozwiązania. Wcześniej używaliśmy NLog oraz log4net, ale zapamiętałem je raczej kiepsko. Nie chcę ich krytykować – to dobre rozwiązania, ale dla zupełnego laika Serilog będzie najprostszym wyborem. Możliwe, że znalezienie przez nas Seriloga […]

Narzędzia

Razor Pages – podstawy

Świeże spojrzenie na stare koncepcje

“Uproszczona wersja MVC” – tak w trzech słowach opisalibyśmy istotę Razor Pages. Jednak jest to definicja zbyt ogólna, oraz bardzo krzywdząca. Chociaż w słowniku znaleźć możemy i gorsze epitety. Bawiąc się w małe szkalowanko – posłużylibyśmy się nazwą “Współczesne Web Formsy”. Razor Pages nie jest ani jednym, ani drugim. To po prostu kolejna ewolucja, zamiast […]