Das Teamformular in C# bauen – Lektion 12 erklärt (Tim Corey)
In diesem Artikel werden wir einen tieferen Einblick in die C#-Anwendungsentwicklung durch Tim Coreys "C# App Start To Finish Lesson 12 – Create Team Form Part 1" nehmen. Tim führt uns Schritt für Schritt durch den Prozess des Aufbaus eines realen Formulars und zeigt, wie komplexe UI-Aufgaben in kleinere, handhabbare Stücke zerlegt werden können. Wenn Sie seinem Ansatz folgen, gewinnen Sie ein klareres Verständnis dafür, wie funktionale Windows Forms-Anwendungen mit sauberen Mustern und praktischen Entwicklungsstrategien entworfen und implementiert werden.
Komplexität aufschlüsseln
Tim beginnt mit der Betonung eines wichtigen Denkansatzes für Entwickler: Lassen Sie sich nicht von der Komplexität überwältigen. Er erklärt, dass das Formular zunächst kompliziert erscheinen kann, aber die Lösung besteht darin, es in kleinere Stücke zu zerlegen. Tim sagt, dass, sobald Sie handhabbare Teile isolieren, das Problem viel einfacher zu lösen wird. Diese Philosophie steht im Mittelpunkt seines Lehrstils und hilft Anfängern, sich während der Entwicklung konzentriert und zuversichtlich zu fühlen.
Das Team-Erstellungsformular verstehen
Tim zeigt das "Create Team"-Formular und stellt fest, dass es mehrere UI-Komponenten wie Schaltflächen, Listen und Tabellen enthält. Er weist darauf hin, dass der Abschnitt Neues Mitglied hinzufügen im Wesentlichen ein eigenständiges Formular ist, ähnlich dem "Create Prize"-Formular, das in den früheren Lektionen erstellt wurde. Diese Trennung der Funktionalität ist entscheidend, da sie es dem Entwickler ermöglicht, einen Abschnitt nach dem anderen zu implementieren, ohne sich in der Komplexität des gesamten Formulars zu verlieren.
Den Zweck klären: Neue Person hinzufügen
Tim erklärt, dass der Abschnitt "Add New Member" technisch gesehen eine Person hinzufügt, nicht ein Teammitglied. In der Datenbank enthält die people-Tabelle Felder wie Vorname, Nachname, E-Mail und Handy. Ein Teammitglied wird einfach durch eine Personen-ID und eine Team-ID dargestellt. Tim merkt an, dass, obwohl es technisch eine Person hinzufügt, es Sinn macht, es als "Add New Member" zu bezeichnen, da es dem Zweck des Formulars entspricht.
Das Button-Event erstellen
Tim demonstriert, wie man das Button-Event für den "Create Member"-Button erstellt. Er erklärt, dass Sie den Button doppelklicken oder das Eigenschaftenfenster verwenden können, um das Event zu erstellen. Er erklärt auch, wie Namenskonventionen die Eventnamen beeinflussen und warum eine konsistente Benennung wichtig ist, um später Verwirrung zu vermeiden. Tim betont, dass die Benennung vor der Erstellung von Events erfolgen sollte, um zusätzliche manuelle Änderungen zu vermeiden.
Die Logik innerhalb des Events
Tim skizziert die Schritte, die das Button-Event ausführen muss:
-
Das Formular validieren
-
Ein Personenmodell erstellen
-
Die Person in der Datenbank oder der Textdatei speichern
- Das Formular leeren
Er vergleicht diesen Arbeitsablauf mit dem früheren "Create Prize"-Formular und zeigt, dass das gleiche Muster gilt. Tim erklärt, dass die Wiederverwendung solcher Muster die Entwicklung schneller und zuverlässiger macht.
Formularvalidierung
Tim baut eine Validierungsmethode namens ValidateForm() und erklärt, warum Konsistenz bei der Benennung wichtig ist. Er schlägt vor, dass die Validierung einfach oder komplex sein kann, je nach Bedarf. Für den Moment hält Tim es einfach: Alle vier Felder müssen Text enthalten. Er diskutiert, wie die Validierung später verbessert werden könnte, um E-Mail-Formate oder Telefonnummernlänge zu überprüfen, aber für diese Lektion reicht eine einfache Validierung aus, um weiterzumachen.
Das Personenmodell erstellen und speichern
Tim zeigt, wie man ein PersonModel aus den Formularfeldern erstellt und es dann an die globale Verbindung zum Speichern weitergibt. Er erklärt, dass der Prozess derselbe ist wie beim Preisformular: validieren → Modell erstellen → speichern → leeren. Tim betont, dass die Wiederverwendung solcher Muster die Entwicklung schneller und zuverlässiger macht.
Die CreatePerson-Methode implementieren
Tim stellt das Schnittstellen-Update vor, das für die neue Methode CreatePerson(PersonModel model) in der IDataConnection-Schnittstelle erforderlich ist. Er erklärt, dass das Hinzufügen dieser Methode in allen vorhandenen Klassen, die die Schnittstelle implementieren, zu Kompilierungsfehlern führen wird. Tim hebt hervor, dass dies eine gute Sache ist, da es Sie zwingt, die neue Methode ordnungsgemäß in allen Verbindern zu implementieren.
Das SQL Store-Verfahren erstellen
Tim wechselt zu SQL, um das gespeicherte Verfahren spPeople_Insert zu erstellen. Er ordnet sorgfältig Parameter wie FirstName, LastName, EmailAddress und CellPhoneNumber zu und stellt sicher, dass Datentypen und -größen korrekt sind. Tim erklärt, dass genaue Typen wichtig sind, um Fehler zu vermeiden und die Datenintegrität zu gewährleisten.
Er erklärt auch, wie Sie die neu erstellte ID mit SCOPE_IDENTITY() erfassen und an die Anwendung zurückgeben können. Dieser Schritt ist entscheidend, um konsistente IDs in der Datenbank und im Anwendungsmodell zu erhalten.
Den SQL-Connector testen
Tim testet den SQL-Connector, indem er das Formular ausführt und eine Person in die Datenbank einfügt. Er öffnet ein Abfragefenster und überprüft, ob die Daten korrekt in der dbo.People-Tabelle angezeigt werden. Tim stellt fest, dass häufiges Testen wichtig ist, um Probleme frühzeitig zu erkennen und zu bestätigen, dass das System wie erwartet funktioniert.
Den Text-Connector implementieren
Tim geht dann dazu über, die Text-Connector-Version derselben Funktionalität zu implementieren. Er erklärt, dass die Code-Struktur ähnlich ist, jetzt aber CSV-Dateien anstelle von SQL verwendet. Er erstellt eine neue Dateikonstante namens PersonModels.csv und fügt Methoden hinzu, um CSV-Daten in PersonModel-Objekte zu konvertieren.
Tim spricht auch über die Bedeutung der Datenformatierung und darüber, wie durch Kommas getrennte Werte Probleme verursachen können, wenn Kommas in den Datenfeldern vorhanden sind. Er schlägt vor, unterschiedliche Trennzeichen zu verwenden oder Eingaben zu validieren, um Probleme zu vermeiden.
Die ConvertToPersonModels-Methode erstellen
Tim schreibt die Methode ConvertToPersonModels(), um CSV-Zeilen in PersonModel-Objekte zu parsen. Er zeigt, wie man Zeilen trennt, Werte in Modelleigenschaften abbildet und sie zu einer Liste hinzufügt. Tim betont, dass die Mapping-Reihenfolge mit der CSV-Spaltenreihenfolge übereinstimmen muss.
In die CSV-Datei speichern
Tim erstellt die Methode SaveToPeopleFile(), um eine Liste von PersonModel-Objekten zurück in die CSV-Datei zu speichern. Er erklärt, wie man Zeichenfolgenzeilen mit durch Kommas getrennten Werten erstellt und in die Datei schreibt. Tim hebt die Bedeutung hervor, den korrekten Dateipfad zu verwenden, um sicherzustellen, dass die Daten ordnungsgemäß gespeichert werden.
Abschließendes Testen und Ergebnisse
Tim testet den Text-Connector, indem er mehrere Mitglieder hinzufügt und überprüft, ob die CSV-Datei korrekt aktualisiert wird. Er bestätigt, dass die IDs korrekt inkrementiert werden und dass alle Datenfelder gespeichert werden. Tim stellt fest, dass der Prozess für diesen Abschnitt des Formulars nun abgeschlossen ist.
Fazit und nächste Schritte
Tim schließt die Lektion ab, indem er erklärt, dass dieser Abschnitt nun abgeschlossen ist. Der nächste Schritt wird darin bestehen, die Teammitgliedslisten zu verknüpfen und die Teamerstellung abzuschließen. Tim erinnert die Lernenden daran, dass dieser Prozess im Laufe der Zeit einfacher wird, da Muster wiederholt und wiederverwendet werden, was erfahrene Entwickler schnell erscheinen lässt—sie verwenden bewährte Muster.
