Menu
Coddy logo textTech

Structure du projet

Fait partie de la section Programmation Orientée Objet du Journey C# de Coddy. Leçon 62 sur 70.

challenge icon

Défi

Facile

Mettons en place les fondations de votre projet Library System ! Vous allez créer la structure de fichiers de base qui deviendra une application complète de gestion de bibliothèque au fil des prochaines leçons.

Vous allez organiser votre code sur quatre fichiers, chacun ayant une responsabilité spécifique :

  • Book.cs : ce fichier contiendra votre modèle Book. Pour l’instant, créez une classe Book dans l’espace de noms LibrarySystem avec trois propriétés implémentées automatiquement : Title (string), Author (string) et IsAvailable (bool, initialisée par défaut à true). Ajoutez un constructeur qui accepte le titre et l’auteur comme paramètres.
  • User.cs : ce fichier contiendra votre modèle User. Créez une classe User dans le même espace de noms avec deux propriétés : Name (string) et MemberId (int). Incluez un constructeur qui accepte les deux valeurs.
  • Library.cs : c’est ici que se trouvera votre logique principale. Créez une classe Library avec une propriété Name (string) et un constructeur pour lui attribuer sa valeur. Ajoutez une méthode appelée GetInfo() qui renvoie une chaîne au format "{Name} Library System Initialized".
  • Program.cs : réunissez tout ici. Il s’agit de votre point d’entrée, où vous créerez des instances de vos classes et vérifierez que la structure fonctionne correctement.

Vous recevrez trois entrées :

  • Le nom de la bibliothèque
  • Une entrée de livre au format title|author
  • Une entrée d’utilisateur au format name|memberId

Créez une instance de Library avec le nom donné, un Book avec le titre et l’auteur fournis, ainsi qu’un User avec le nom et l’identifiant de membre fournis. Affichez ensuite trois lignes :

  1. Le résultat de l’appel à GetInfo() sur votre bibliothèque
  2. Les informations du livre au format Book: {Title} by {Author} - Available: {IsAvailable}
  3. Les informations de l’utilisateur au format User: {Name} (ID: {MemberId})

Par exemple, si les entrées sont :

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

La sortie devrait être :

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

Cette structure suit le principe de responsabilité unique : chaque fichier gère une préoccupation spécifique. Dans les prochaines leçons, vous enrichirez ces classes avec une logique d’emprunt, une fonctionnalité de recherche et une interface console complète !

Essayez vous-même

using System;

namespace LibrarySystem
{
    class Program
    {
        public static void Main(string[] args)
        {
            // Lire les entrées
            string libraryName = Console.ReadLine();
            string bookInput = Console.ReadLine();
            string userInput = Console.ReadLine();

            // Analyser l'entrée du livre (format : title|author)
            string[] bookParts = bookInput.Split('|');
            string bookTitle = bookParts[0];
            string bookAuthor = bookParts[1];

            // Analyser l'entrée de l'utilisateur (format : name|memberId)
            string[] userParts = userInput.Split('|');
            string userName = userParts[0];
            int memberId = Convert.ToInt32(userParts[1]);

            // TODO: Créer une instance de Library avec le library name

            // TODO: Créer une instance de Book avec le title et l'author

            // TODO: Créer une instance de User avec le name et le member ID

            // TODO: Afficher les informations de la bibliothèque en utilisant GetInfo()

            // TODO: Afficher les informations du livre au format : Book: {Title} by {Author} - Available: {IsAvailable}

            // TODO: Afficher les informations de l'utilisateur au format : User: {Name} (ID: {MemberId})
        }
    }
}

Toutes les leçons de Programmation Orientée Objet

Entraînez-vous par vous-même : Compilateur C# en ligne