Menu
Coddy logo textTech

Estrutura do Projeto

Parte da seção Programação Orientada a Objetos do Journey de C# da Coddy — lição 62 de 70.

challenge icon

Desafio

Fácil

Vamos definir a base para o seu projeto de Sistema de Biblioteca! Você criará a estrutura de arquivos básica que crescerá e se tornará um aplicativo completo de gerenciamento de biblioteca ao longo das próximas lições.

Você organizará seu código em quatro arquivos, cada um com uma responsabilidade específica:

  • Book.cs: Este arquivo conterá seu modelo de Livro. Por enquanto, crie uma classe Book no namespace LibrarySystem com três propriedades autoimplementadas: Title (string), Author (string) e IsAvailable (bool, com valor padrão true). Adicione um construtor que receba o título e o autor como parâmetros.
  • User.cs: Este arquivo conterá seu modelo de Usuário. Crie uma classe User no mesmo namespace com duas propriedades: Name (string) e MemberId (int). Inclua um construtor que aceite ambos os valores.
  • Library.cs: É aqui que sua lógica principal residirá. Crie uma classe Library com uma propriedade Name (string) e um construtor para defini-la. Adicione um método chamado GetInfo() que retorne uma string no formato "{Name} Library System Initialized".
  • Program.cs: Reúna tudo aqui. Este é o seu ponto de entrada onde você criará instâncias de suas classes e verificará se a estrutura funciona corretamente.

Você receberá três entradas:

  • O nome da biblioteca
  • Uma entrada de livro no formato title|author
  • Uma entrada de usuário no formato name|memberId

Crie uma instância de Library com o nome fornecido, um Book com o título e autor fornecidos, e um User com o nome e ID de membro fornecidos. Em seguida, imprima três linhas:

  1. O resultado da chamada de GetInfo() na sua biblioteca
  2. As informações do livro no formato Book: {Title} by {Author} - Available: {IsAvailable}
  3. As informações do usuário no formato User: {Name} (ID: {MemberId})

Por exemplo, se as entradas forem:

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

A saída deve ser:

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

Esta estrutura segue o Princípio da Responsabilidade Única - cada arquivo lida com uma preocupação específica. Nas próximas lições, você expandirá essas classes com lógica de empréstimo, funcionalidade de busca e uma interface de console completa!

Experimente você mesmo

using System;

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

            // Analisar a entrada do livro (formato: title|author)
            string[] bookParts = bookInput.Split('|');
            string bookTitle = bookParts[0];
            string bookAuthor = bookParts[1];

            // Analisar a entrada do usuário (formato: name|memberId)
            string[] userParts = userInput.Split('|');
            string userName = userParts[0];
            int memberId = Convert.ToInt32(userParts[1]);

            // TODO: Criar uma instância de Library com o library name

            // TODO: Criar uma instância de Book com o title e author

            // TODO: Criar uma instância de User com o name e member ID

            // TODO: Imprimir as informações da biblioteca usando GetInfo()

            // TODO: Imprimir as informações do livro no formato: Book: {Title} by {Author} - Available: {IsAvailable}

            // TODO: Imprimir as informações do usuário no formato: User: {Name} (ID: {MemberId})
        }
    }
}

Todas as lições de Programação Orientada a Objetos