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

¡Vamos a establecer la base para tu proyecto de Sistema de Biblioteca! Crearás la estructura de archivos básica que crecerá hasta convertirse 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 autoimplementadas: Title (string), Author (string) e IsAvailable (bool, con valor predeterminado 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í es donde residirá 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: Reúne 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 en el formato title|author
  • Una entrada de usuario en el formato name|memberId

Crea una instancia de Library con el nombre dado, un Book con el título y autor proporcionados, y un User con el nombre e ID de miembro proporcionados. Luego imprime tres líneas:

  1. El resultado de llamar a GetInfo() en tu biblioteca
  2. La información del libro en el formato Book: {Title} by {Author} - Available: {IsAvailable}
  3. La información del usuario en 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 encarga de una preocupación específica. ¡En las próximas lecciones, ampliarás estas clases con lógica de préstamo, 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