Menu
Coddy logo textTech

Projektstruktur

Teil des Abschnitts Objektorientierte Programmierung der C#-Journey von Coddy — Lektion 62 von 70.

challenge icon

Aufgabe

Einfach

Legen wir den Grundstein für dein Library System Projekt! Du wirst die grundlegende Dateistruktur erstellen, die in den kommenden Lektionen zu einer vollständigen Bibliotheksverwaltungsanwendung anwachsen wird.

Du wirst deinen Code auf vier Dateien verteilen, von denen jede eine spezifische Aufgabe hat:

  • Book.cs: Diese Datei wird dein Book-Modell enthalten. Erstelle vorerst eine Book-Klasse im Namespace LibrarySystem mit drei automatisch implementierten Eigenschaften: Title (string), Author (string) und IsAvailable (bool, standardmäßig auf true gesetzt). Füge einen Konstruktor hinzu, der den Titel und den Autor als Parameter entgegennimmt.
  • User.cs: Diese Datei wird dein User-Modell enthalten. Erstelle eine User-Klasse im selben Namespace mit zwei Eigenschaften: Name (string) und MemberId (int). Füge einen Konstruktor hinzu, der beide Werte akzeptiert.
  • Library.cs: Hier wird deine Kernlogik beheimatet sein. Erstelle eine Library-Klasse mit einer Name-Eigenschaft (string) und einem Konstruktor, um diese zu setzen. Füge eine Methode namens GetInfo() hinzu, die einen String im Format "{Name} Library System Initialized" zurückgibt.
  • Program.cs: Hier bringst du alles zusammen. Dies ist dein Einstiegspunkt, an dem du Instanzen deiner Klassen erstellst und überprüfst, ob die Struktur korrekt funktioniert.

Du wirst drei Eingaben erhalten:

  • Den Namen der Bibliothek
  • Einen Bucheintrag im Format title|author
  • Einen Benutzereintrag im Format name|memberId

Erstelle eine Library-Instanz mit dem angegebenen Namen, ein Book mit dem angegebenen Titel und Autor sowie einen User mit dem angegebenen Namen und der Mitglieds-ID. Gib dann drei Zeilen aus:

  1. Das Ergebnis des Aufrufs von GetInfo() für deine Bibliothek
  2. Die Informationen des Buches im Format Book: {Title} by {Author} - Available: {IsAvailable}
  3. Die Informationen des Benutzers im Format User: {Name} (ID: {MemberId})

Wenn die Eingaben zum Beispiel wie folgt lauten:

City Central
The Great Gatsby|F. Scott Fitzgerald
Alice Johnson|1001

Sollte die Ausgabe wie folgt aussehen:

City Central Library System Initialized
Book: The Great Gatsby by F. Scott Fitzgerald - Available: True
User: Alice Johnson (ID: 1001)

Diese Struktur folgt dem Single Responsibility Principle (Prinzip der Einzelverantwortung) – jede Datei kümmert sich um ein spezifisches Anliegen. In den kommenden Lektionen wirst du diese Klassen um Ausleihlogik, Suchfunktionen und eine vollständige Konsolenschnittstelle erweitern!

Probier es selbst

using System;

namespace LibrarySystem
{
    class Program
    {
        public static void Main(string[] args)
        {
            // Eingaben lesen
            string libraryName = Console.ReadLine();
            string bookInput = Console.ReadLine();
            string userInput = Console.ReadLine();

            // Bucheingabe parsen (Format: title|author)
            string[] bookParts = bookInput.Split('|');
            string bookTitle = bookParts[0];
            string bookAuthor = bookParts[1];

            // Benutzereingabe parsen (Format: name|memberId)
            string[] userParts = userInput.Split('|');
            string userName = userParts[0];
            int memberId = Convert.ToInt32(userParts[1]);

            // TODO: Erstelle eine Library-Instanz mit dem Bibliotheksnamen

            // TODO: Erstelle eine Book-Instanz mit dem Titel und Autor

            // TODO: Erstelle eine User-Instanz mit dem Namen und der Mitglieds-ID

            // TODO: Gib die Bibliotheksinformationen mit GetInfo() aus

            // TODO: Gib die Buchinformationen im Format aus: Book: {Title} by {Author} - Available: {IsAvailable}

            // TODO: Gib die Benutzerinformationen im Format aus: User: {Name} (ID: {MemberId})
        }
    }
}

Alle Lektionen in Objektorientierte Programmierung