Narzędzia

Projekt bazodanowy

Jak rozwijać bazę danych w solucji

Nie jestem fanem podejścia code-first, a migracje kojarzą mi się jedynie z migreną. Prędzej czy później zawsze pojawiał się z nimi problem, a ja bym wolał pracować bezawaryjnie i bezpiecznie. Z pomocą przychodzi SSDT (SQL Server Data Tools), dzięki któremu w prosty sposób można włączyć bazę pod kontrolę wersji, porównywać schematy baz między środowiskami, aktualizować […]

Narzędzia

AutoMapper – konfiguracja

Zmniejszanie bólu mapowania

AutoMapper powstał, aby rozwiązać dość popularny problem z mapowaniem klas. W znacznej większości projektów pojawiają się warstwy i związane z nimi DTOsy (Data Transfer Object). Mapowanie polega na przepisaniu wartości pól z jednej klasy do nowego obiektu o innym typie, np. z PersonDataAccessObject do PersonDataTransferObject. Dzięki temu zostaje zachowana jedna z podstawowych zasad programowania obiektowego – […]

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