Menu
Coddy logo textTech

Struttura del progetto

Fa parte della sezione Programmazione orientata agli oggetti del percorso C# di Coddy. Lezione 62 di 70.

challenge icon

Sfida

Facile

Impostiamo le basi per il tuo progetto Library System! Creerai la struttura di file di base, che nelle prossime lezioni si trasformerà in un'applicazione completa per la gestione di una biblioteca.

Organizzerai il codice in quattro file, ciascuno con una responsabilità specifica:

  • Book.cs: questo file conterrà il modello Book. Per ora, crea una classe Book nello spazio dei nomi LibrarySystem con tre proprietà implementate automaticamente: Title (string), Author (string) e IsAvailable (bool, il cui valore predefinito è true). Aggiungi un costruttore che accetti il titolo e l'autore come parametri.
  • User.cs: questo file conterrà il modello User. Crea una classe User nello stesso spazio dei nomi con due proprietà: Name (string) e MemberId (int). Includi un costruttore che accetti entrambi i valori.
  • Library.cs: qui risiederà la logica principale. Crea una classe Library con una proprietà Name (string) e un costruttore che la imposti. Aggiungi un metodo chiamato GetInfo() che restituisca una stringa nel formato "{Name} Library System Initialized".
  • Program.cs: metti insieme tutto qui. Questo è il punto di ingresso, dove creerai istanze delle tue classi e verificherai che la struttura funzioni correttamente.

Riceverai tre input:

  • Il nome della biblioteca
  • Una voce per un libro nel formato title|author
  • Una voce per un utente nel formato name|memberId

Crea un'istanza di Library con il nome indicato, un Book con il titolo e l'autore forniti e un User con il nome e l'ID membro forniti. Poi stampa tre righe:

  1. Il risultato della chiamata a GetInfo() sulla tua biblioteca
  2. Le informazioni sul libro nel formato Book: {Title} by {Author} - Available: {IsAvailable}
  3. Le informazioni sull'utente nel formato User: {Name} (ID: {MemberId})

Per esempio, se gli input sono:

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

L'output dovrebbe essere:

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

Questa struttura segue il principio di responsabilità singola: ogni file gestisce un ambito specifico. Nelle prossime lezioni, amplierai queste classi con la logica per il prestito, le funzionalità di ricerca e un'interfaccia completa da console!

Provalo tu

using System;

namespace LibrarySystem
{
    class Program
    {
        public static void Main(string[] args)
        {
            // Leggi i dati di input
            string libraryName = Console.ReadLine();
            string bookInput = Console.ReadLine();
            string userInput = Console.ReadLine();

            // Analizza i dati di input del libro (formato: title|author)
            string[] bookParts = bookInput.Split('|');
            string bookTitle = bookParts[0];
            string bookAuthor = bookParts[1];

            // Analizza i dati di input dell'utente (formato: name|memberId)
            string[] userParts = userInput.Split('|');
            string userName = userParts[0];
            int memberId = Convert.ToInt32(userParts[1]);

            // TODO: Crea un'istanza di Library con il nome della biblioteca

            // TODO: Crea un'istanza di Book con il titolo e l'autore

            // TODO: Crea un'istanza di User con il nome e l'ID del membro

            // TODO: Stampa le informazioni della biblioteca usando GetInfo()

            // TODO: Stampa le informazioni del libro nel formato: Book: {Title} by {Author} - Available: {IsAvailable}

            // TODO: Stampa le informazioni dell'utente nel formato: User: {Name} (ID: {MemberId})
        }
    }
}

Tutte le lezioni di Programmazione orientata agli oggetti

Esercitati da solo: Compilatore C# online