Observer Pattern w C# – implementacja przez event
Jeśli znasz już Anatomię wzorca — 8 elementów opisu GoF, wiesz, że każdy z 23 wzorców GoF opisuje się w tym samym formacie. Rozkładamy w nim Observer — jeden…
Czytaj więcej →Jeśli znasz już Anatomię wzorca — 8 elementów opisu GoF, wiesz, że każdy z 23 wzorców GoF opisuje się w tym samym formacie. Rozkładamy w nim Observer — jeden…
Czytaj więcej →Code coverage mierzy, który procent linii (albo gałęzi) kodu został wykonany podczas uruchomienia testów. To użyteczny sygnał, gdzie testów brakuje — ale wysoki procent nie oznacza…
Czytaj więcej →Kolejny wzorzec z serii opartej na Anatomii wzorca — 8 elementach opisu GoF. Tym razem Mediator — wzorzec, który ratuje kod, gdy N obiektów zaczyna znać wszystkie pozostałe N-1…
Czytaj więcej →W testach integracyjnych ASP.NET Core podmienialiśmy prawdziwą bazę danych na UseInMemoryDatabase. To wygodne, ale ma pułapkę: InMemory provider nie zachowuje się jak prawdziwa relacyjna baza danych…
Czytaj więcej →Manipulacja tekstem w C# — Replace, Split, Substring inne metody string Każda aplikacja przetwarza tekst (Manipulacja tekstem). Formularze, raporty, importy CSV, logi, API — wszędzie napotykasz…
Czytaj więcej →Jesli piszesz pierwszy kod w C#, pedzisz pewnie pelna para: zmienne, instrukcje warunkowe, petle. A potem nagle — name.Trim() nie zmienia Twojego stringa. Albo aplikacja zwalnia…
Czytaj więcej →Test jednostkowy sprawdza jedną klasę w izolacji. Test integracyjny sprawdza, czy cały pipeline — routing, middleware, dependency injection, serializacja JSON — faktycznie działa razem, wysyłając prawdziwe…
Czytaj więcej →Pattern Matching w C# – switch expressions i type patterns Otwierasz klasę z logiką biznesową i nagle dostajesz w twarz „drabiną” instrukcji if-else, która ciągnie się…
Czytaj więcej →Assert.Equal(oczekiwany, wynik) działa, ale gdy test padnie, komunikat błędu bywa lakoniczny. FluentAssertions to biblioteka, która zamienia asercje w czytelne zdania (wynik.Should().Be(oczekiwany)) i — ważniejsze — generuje…
Czytaj więcej →Value types vs reference types w C# — stack, heap i boxing na przykładach Napisz taki kod i zapytaj o wynik dowolnego początkującego programistę: Jeśli nie…
Czytaj więcej →Jak stworzyć i opublikować pakiet NuGet w .NET (C#) Chcesz przestać kopiować kod między projektami i zacząć budować prawdziwą architekturę w .NET? W tym artykule pokażę…
Czytaj więcej →Klasa, którą chcesz przetestować, często zależy od innych klas — repozytorium bazy danych, klienta HTTP, wysyłki e-maili. Moq pozwala podstawić w ich miejsce “atrapę”, która zachowuje…
Czytaj więcej →W poprzednim artykule “Class, struct czy record w C#?” ustaliliśmy, że struct to typ wartościowy — żyje na stosie (albo inline wewnątrz obiektu), nie może być…
Czytaj więcej →Używamy plików cookie do analityki i reklam. Możesz zmienić wybór w każdej chwili.
Polityka prywatności · Polityka cookies