Budowanie projektu biblioteki klas C# - wgląd z lekcji Tima Corey'a
W tej lekcji Tim Corey prowadzi nas przez praktyczny proces tworzenia biblioteki klas C#, przechodząc od planowania do rzeczywistego kodu. Tim podkreśla, że planowanie jest kluczowe, ale gdy planowanie zostanie zakończone, czas rozpocząć budowę.
W tym artykule będziemy śledzić dokładne podejście i rozumowanie Tima, krok po kroku, aby zrozumieć, jak tworzona, organizowana i dokumentowana jest biblioteka klas w Visual Studio.
Rozpoczynanie Biblioteki Klasy w Visual Studio
Tim zaczyna mówiąc, że był chwilowo zablokowany w trybie planowania, ale teraz jest wreszcie gotowy do kodowania. Otwiera Visual Studio i wybiera "Utwórz nowy projekt", następnie wybiera "Biblioteka Klasy". Tim nazywa ją TrackerLibrary i ustawia nazwę rozwiązania na TournamentTracker.
Pierwsze działanie Tima w nowej bibliotece to usunięcie domyślnego Class1.cs, tłumacząc, że nie chce żadnych domyślnych ani źle nazwanych plików w swoim projekcie. Mówi, że zmiana nazw może powodować problemy, więc usuwa go całkowicie, aby uniknąć problemów później.
Konwersja Planów na Kod — Dodawanie Klas
Tim wyjaśnia, że prawdziwą korzyścią z planowania jest to, że gdy jesteś gotowy do kodowania, nie zgadujesz, jakich danych potrzebujesz. Zamiast tego po prostu przekształcasz zaplanowany projekt na rzeczywisty kod.
Wspomina, że na tym etapie nie myślisz o tym, jakie dane są potrzebne, ale raczej weryfikujesz nazwy, struktury i czy niczego nie brakuje. Tim mówi, że to dlatego planowanie znacznie przyspiesza proces kodowania.
Tworzenie Modelu Drużyny
Tim dodaje pierwszą klasę: TeamModel. Wyjaśnia, że mógłby nazwać ją po prostu Zespół, ale woli dodawać Model na końcu, aby jasno określić, że jest to model danych.
Używa skrótów prop w Visual Studio, aby szybko generować właściwości. Tim tworzy następujące właściwości:
-
List
CzlonkowieZespolu - string NazwaZespolu
Tim również wyjaśnia kluczowy punkt: chce, aby TeamMembers był inicjowany automatycznie, aby lista nigdy nie była pusta. Pokazuje dwa podejścia:
-
Przed C# 6.0: Użyj konstruktora do inicjalizacji listy.
-
Od C# 6.0: Inicjalizuj bezpośrednio w właściwości, używając:
public List<PersonModel> CzlonkowieZespolu { get; ustaw } = new List<PersonModel>();
Tim woli nowoczesne podejście, ponieważ upraszcza kod.
Tworzenie Modelu Osoby
Następnie Tim tworzy PersonModel. Używając skrótu prop, szybko dodaje właściwości:
-
string Imie
-
string Nazwisko
-
string AdresEmail
- string NumerTelefonuKomorkowego
Tim wskazuje, jak szybko można budować modele, gdy planowanie jest już zakończone. Przypomina również, że kod opiera się teraz bezpośrednio na dokumencie planowania.
Tworzenie Modelu Turnieju
Tim dodaje TournamentModel, który zawiera:
-
string NazwaTurnieju
-
decimal OplataWstepna
-
List
ZgloszoneZespoly -
List
Nagrody - List<List
> Rundy
Podkreśla, jak C# rozumie złożone struktury list, takie jak List<List
Dodawanie Modelu Nagrody
Tim dodaje PrizeModel z następującymi właściwościami:
-
int NumerMiejsca
-
string NazwaMiejsca
-
decimal KwotaNagrody
- double ProcentNagrody
Zauważa, że te wartości pozostają na razie na wartościach domyślnych i mogą być modyfikowane później, gdy będzie to potrzebne.
Tworzenie Modeli Rozgrywek
Tim dodaje MatchupModel, w tym:
-
List
Wejscia -
TeamModel Zwyciezca
- int RundaMeczu
Zapewnia również automatyczne zainicjowanie listy Entries, podobnie jak wcześniej.
Następnie Tim dodaje MatchupEntryModel, który zawiera:
-
TeamModel ZespolRywalizujacy
-
double Wynik
- MatchupModel RodzicielskiMecz
Tim podkreśla, że te modele kończą fundamenty biblioteki klas.
Biblioteka Klasy jest Prosta Po Zapasowaniu
Tim mówi, że po zakończeniu planowania budowa biblioteki klas staje się bardzo prosta. Podkreśla, że struktura biblioteki jest prostaa, ponieważ cała praca projektowa została już zakończona.
Przypomina, że kluczową korzyścią z planowania jest to, że kodowanie staje się szybkie i czyste.
Dodawanie Komentarzy XML — Dlaczego to Ważne
Tim wskazuje, że ostatnim krokiem powinna być dokumentacja kodu, zwłaszcza za pomocą komentarzy XML. Przyznaje, że komentowanie jest żmudne, ale ostrzega, że jeśli nie zrobisz tego teraz, prawdopodobnie nie zrobisz tego później.
Pokazuje, jak tworzyć komentarze XML, wpisując trzy ukośniki (///) nad właściwością. Tim demonstruje pisanie opisów, takich jak:
-
"Reprezentuje jedną drużynę w rozgrywce"
-
"Reprezentuje wynik dla tej konkretnej drużyny"
- "Reprezentuje mecz, z którego ta drużyna wyszła jako zwycięzca"
Tim wyjaśnia, że komentarze XML to nie tylko sformatowane komentarze — stają się one częścią dokumentacji kodu i pomagają innym deweloperom zrozumieć twoje klasy.
Komunikaty XML Poprawiają Użyteczność Kodu
Tim pokazuje, jak komentarze XML współpracują z IntelliSense. Tworzy konstruktor i dodaje komentarze XML do parametru, pokazując, że komentarze pojawiają się automatycznie w IntelliSense.
Porównuje to do wbudowanego opisu Console.WriteLine() w Visual Studio, który pochodzi z własnej dokumentacji XML firmy Microsoft. Tim wyjaśnia, że korzystanie z komentarzy XML pozwala zapewnić taki sam poziom jasności i użyteczności w swojej własnej bibliotece klas.
Ostateczna Zachęta
Tim zachęca widzów do dodania komentarzy XML do reszty modeli, chociaż nie pokazuje pełnego procesu z powodu jego powtarzalnej natury.
Kończy, przedstawiając zapowiedź następnej lekcji: budowanie formularzy. Tim zauważa, że formularze zaprojektowane podczas planowania były prostymi szkicami, a teraz nadszedł czas, aby nadać im nowoczesniejszy i bardziej funkcjonalny wygląd.
Podsumowanie — Lekcja Tima w Pigułce
Lekcja Tima Coreya pokazuje, że tworzenie biblioteki klas C# sprowadza się do przekładania planowania na kod. Kroki są następujące:
-
Stwórz projekt biblioteki klas
-
Dodaj modele na podstawie planowania
-
Inicjuj listy, aby uniknąć nulli
-
Dokumentuj kod za pomocą komentarzy XML
- Przygotuj się do następnego kroku, czyli budowania formularzy
Stosując metodę Tima, zbudujesz czystą i dobrze zorganizowaną bibliotekę klas, gotową do wspierania reszty twojej aplikacji w sposób efektywny i profesjonalny.
