Может ли кто-нибудь помочь мне понять, как лучше моделировать композиционные отношения?
Если, например, у меня есть студент, у которого может быть много расписаний, я бы написал примерно:
class Student
{
prop long Pk { get; set; }
prop string Name { get; set; }
prop List<Schedule> Schedules { get; set; }
}
class Schedule
{
prop string Semester { get; set; }
prop List<Course> Courses{ get; set; }
}
Где-то внизу у меня может быть объект Schedule, и я захочу определить, к какому студенту он принадлежит. Я хочу иметь возможность написать Schedule.Student.Name
и получить взамен имя студента. Я также добавляю свойство Student в свой объект Schedule?
Мое приложение передало Student Pk моему объекту Schedule для выполнения функции CRUD. Я оставляю Student PK в качестве закрытой переменной, чтобы сохранить ее, если она мне понадобится.
Поскольку мое приложение становится все более сложным, мне трудно поддерживать то, что я делал. Каковы ваши предложения для меня? Что еще я могу проконсультировать (книги / ссылки), чтобы освежить и лучше справиться с этими основами?