Czy chcesz nauczyć się programować w C# i stworzyć swoją pierwszą aplikację? Ten darmowy kurs pokaże Ci, jak krok po kroku zaprojektować prostą aplikację.
Stworzony przez Mariusz Jurczenko
Masz pytania dotyczące tego szkolenia ?
A jeśli to Twój start w C#, ten kurs prowadzi od podstaw do gotowej, prostej aplikacji. W przejrzystych krokach poznasz tworzenie, przeglądanie i wyszukiwanie kontaktów oraz uporządkujesz kod zgodnie z SOLID.
Pokazujemy praktyczne elementy: zapisywanie danych do plików JSON, wprowadzenie interfejsu IContactManager i testy jednostkowe w xUnit. Do tego walidacja danych i refaktoryzacja, które czynią projekt łatwym w rozwoju.
Brak formalnych wymagań. Kurs prowadzi krok po kroku, więc wystarczy chęć nauki i odrobina czasu.
Ten darmowy kurs pokazuje, jak w C# stworzyć prostą aplikację do zarządzania kontaktami – od układu klas po zapis danych. W praktycznych krokach przejdziesz przez dodawanie, przeglądanie i wyszukiwanie kontaktów, a następnie uporządkujesz projekt zgodnie z zasadami SOLID. Poznasz też interfejsy, testy jednostkowe w xUnit, walidację danych i zapis do plików JSON.
Zaczynamy od zbudowania prostej, działającej podstawy aplikacji do zarządzania kontaktami. Krok po kroku dodasz funkcje dodawania, przeglądania i wyszukiwania, tak aby od razu zobaczyć efekty pracy. Każdy etap jest klarownie wyjaśniony, a decyzje projektowe są omawiane w prosty sposób. Dzięki temu od początku skupiasz się na tym, co najważniejsze: czytelnej logice i przejrzystym przepływie danych. To solidna baza, na której później łatwo wprowadzisz kolejne udoskonalenia i dobre praktyki.
Po zbudowaniu podstaw przychodzi czas na porządek w kodzie. Refaktoryzacja upraszcza strukturę projektu i wprowadza klasę ContactManager, która przejmuje odpowiedzialność za operacje na kontaktach. Rola klasy Contact zostaje ograniczona do przechowywania danych, co wzmacnia spójność i zgodność z zasadami SOLID. Taki podział zmniejsza zależności, ułatwia testowanie oraz dalszy rozwój. Dzięki mniejszym klasom o jasno określonych zadaniach projekt staje się czytelniejszy i bardziej przewidywalny.
Na tym etapie do gry wchodzi interfejs IContactManager. Wydzielenie kontraktu pozwala oddzielić definicję zachowania od konkretnej implementacji i zwiększa modularność. Dzięki temu możesz rozwijać projekt bez naruszania istniejących części, a testowanie staje się prostsze. Interfejs porządkuje punkty styku między elementami aplikacji i sprzyja zgodności z SOLID. Efekt to elastyczny kod, który łatwo rozszerzać i utrzymywać, także w miarę rosnących potrzeb projektu.
Kluczowym krokiem jest zadbanie o jakość danych. Walidacja w klasie Contact wykorzystuje wyrażenia regularne oraz obsługę wyjątków, aby zatrzymać niepoprawne wartości i jasno poinformować o problemie. Takie podejście chroni logikę aplikacji przed błędami i sprawia, że komunikaty są zrozumiałe dla użytkownika. Dzięki temu dodawanie i wyszukiwanie informacji o kontaktach przebiegają przewidywalnie, a cały system działa stabilnie. To fundament profesjonalnej aplikacji opartej na solidnych zasadach.
Kontakty muszą pozostać dostępne między uruchomieniami programu. Dlatego poznasz zapis i odczyt danych z plików w formacie JSON. Taki sposób przechowywania jest prosty, czytelny i dobrze wspiera dalszy rozwój projektu. Po stronie kodu dodasz operacje utrwalające listę kontaktów, a podczas kolejnych uruchomień potrafi je ponownie wczytać. W efekcie aplikacja zachowuje stan, a Ty zyskujesz praktyczne doświadczenie z pracą na plikach.
Na koniec dodasz testy jednostkowe z użyciem xUnit. Testy obejmą kluczowe funkcje, takie jak dodawanie i wyszukiwanie kontaktów, co zwiększa pewność działania aplikacji. Dzięki nim każda zmiana w kodzie może być szybko zweryfikowana, a ewentualne błędy wychwycone zanim urosną w większy problem. Testy porządkują proces pracy i umożliwiają bezpieczną refaktoryzację, dzięki czemu projekt zyskuje profesjonalny charakter oraz gotowość na kolejne kroki rozwoju.