Creación de Entidades: Alumno, Asignatura y Evaluación en C#

Clase 27 de 32Fundamentos de C# con NET Core 2.1

Resumen

¿Cómo mejorar nuestra solución educativa?

En nuestro recorrido hacia un sistema educativo más robusto y estructurado, es crucial profundizar en cómo estructuramos las entidades que forman parte del mismo. En esta etapa, vamos a centrarnos en añadir nuevas entidades a nuestra solución: alumnos, asignaturas y evaluaciones.

El objetivo es incrementar la funcionalidad, proporcionando una representación fiel y funcional del entorno educativo, lo cual es esencial para el buen desarrollo de cualquier software en el sector. Veamos cómo hacer esto con el uso apropiado de clases en C#.

¿Cómo se crean las clases de las nuevas entidades?

Comenzamos por evaluar qué atributos debe llevar cada entidad y cómo crearlas adecuadamente en C#. Por lo tanto, vamos a crear nuevas clases para cada una de las entidades:

  1. Alumno: Los atributos fundamentales de un estudiante pueden incluir un Unique ID (también llamado código) y un nombre. Se define utilizando el sistema GUID, garantizando un ID único generado en el constructor.
public class Alumno {
    public string Nombre { get; set; }
    public string UniqueID { get; private set; }
    
    public Alumno() {
        UniqueID = Guid.NewGuid().ToString();
    }
}
  1. Asignatura y Evaluaciones: Ambas entidades genesis de con una estructura similar gracias a la reutilización del código y la idea de mantener consistencia y orden en la programación.

¿Cuáles son las características importantes de las clases avanzadas?

En nuestra solución, es primordial entender que las evaluaciones están directamente relacionadas con las asignaturas y los alumnos. Cada evaluación contiene un Unique ID, nombre, el alumno que la presenta, a qué asignatura pertenece y la nota obtenida, que se recomienda manejarla como un tipo float para la inclusión de decimales.

public class Evaluacion {
    public string UniqueID { get; private set; }
    public string Nombre { get; set; }
    public Alumno Alumno { get; set; }
    public Asignatura Asignatura { get; set; }
    public float Nota { get; set; }
    
    public Evaluacion() {
        UniqueID = Guid.NewGuid().ToString();
    }
}

¿Cómo integrar listas de asignaturas y alumnos en los cursos?

Un curso no está completo sin reconocer qué asignaturas y alumnos contiene. Cada curso, por lo tanto, debe tener una lista de asignaturas y alumnos asociada, facilitando el acceso y manipulación de estos datos.

public class Curso {
    public string Nombre { get; set; }
    public List<Asignatura> Asignaturas { get; set; }
    public List<Alumno> Alumnos { get; set; }

    public Curso() {
        Asignaturas = new List<Asignatura>();
        Alumnos = new List<Alumno>();
    }
}

¿Qué consideraciones finales debemos tener?

Al finalizar la estructuración de nuestras entidades, es vital recordar la importancia de las decisiones de diseño. Cada objeto creado debe ser construido con un propósito claro dentro del modelo educativo. En C#, tenemos la flexibilidad de incluir múltiples clases en un archivo sin error, pero mantener la organización ayudará significativamente a largo plazo.

Mientras avanzamos, se alentará a los estudiantes a aplicar estos conceptos en la creación y manipulación de objetos, aumentando así sus habilidades de programación y entendimiento de los sistemas educativos complejos. ¡Sigue avanzando y mejorando tus conocimientos!