Menu
Coddy logo textTech

Estructura del Proyecto

Parte de la sección Programación Orientada a Objetos del Journey de C# de Coddy. Lección 62 de 70.

challenge icon

Desafío

Fácil

¡Configuremos los cimientos de tu proyecto de sistema de biblioteca! Crearás la estructura básica de archivos que se convertirá en una aplicación completa de gestión de bibliotecas a lo largo de las próximas lecciones.

Organizarás tu código en cuatro archivos, cada uno con una responsabilidad específica:

  • Book.cs: Este archivo contendrá tu modelo Book. Por ahora, crea una clase Book en el espacio de nombres LibrarySystem con tres propiedades implementadas automáticamente: Title (string), Author (string) y IsAvailable (bool, cuyo valor predeterminado será true). Añade un constructor que reciba el título y el autor como parámetros.
  • User.cs: Este archivo contendrá tu modelo User. Crea una clase User en el mismo espacio de nombres con dos propiedades: Name (string) y MemberId (int). Incluye un constructor que acepte ambos valores.
  • Library.cs: Aquí estará tu lógica principal. Crea una clase Library con una propiedad Name (string) y un constructor para establecerla. Añade un método llamado GetInfo() que devuelva una cadena con el formato "{Name} Library System Initialized".
  • Program.cs: Une todo aquí. Este es tu punto de entrada, donde crearás instancias de tus clases y verificarás que la estructura funciona correctamente.

Recibirás tres entradas:

  • El nombre de la biblioteca
  • Una entrada de libro con el formato title|author
  • Una entrada de usuario con el formato name|memberId

Crea una instancia de Library con el nombre proporcionado, un Book con el título y el autor indicados, y un User con el nombre y el ID de miembro proporcionados. Después, imprime tres líneas:

  1. El resultado de llamar a GetInfo() en tu biblioteca
  2. La información del libro con el formato Book: {Title} by {Author} - Available: {IsAvailable}
  3. La información del usuario con el formato User: {Name} (ID: {MemberId})

Por ejemplo, si las entradas son:

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

La salida debería ser:

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

Esta estructura sigue el principio de responsabilidad única: cada archivo se ocupa de una preocupación específica. En las próximas lecciones, ampliarás estas clases con lógica de préstamos, funcionalidad de búsqueda y una interfaz de consola completa.

Pruébalo tú mismo

using System;

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

            // Analizar la entrada del libro (formato: title|author)
            string[] bookParts = bookInput.Split('|');
            string bookTitle = bookParts[0];
            string bookAuthor = bookParts[1];

            // Analizar la entrada del usuario (formato: name|memberId)
            string[] userParts = userInput.Split('|');
            string userName = userParts[0];
            int memberId = Convert.ToInt32(userParts[1]);

            // TODO: Crear una instancia de Library con el nombre de la biblioteca

            // TODO: Crear una instancia de Book con el título y el autor

            // TODO: Crear una instancia de User con el nombre y el ID de miembro

            // TODO: Imprimir la información de la biblioteca usando GetInfo()

            // TODO: Imprimir la información del libro en formato: Book: {Title} by {Author} - Available: {IsAvailable}

            // TODO: Imprimir la información del usuario en formato: User: {Name} (ID: {MemberId})
        }
    }
}

Todas las lecciones de Programación Orientada a Objetos

Practica por tu cuenta: Compilador de C# online