【发布时间】:2014-03-15 21:42:15
【问题描述】:
我正在创建一个基于网络的学者系统,供学生查看他们的分数、查看他们的日程安排等。但是,我在构建这个系统时遇到了问题,因为我找不到合适的方法关联数据。
有一个学生,在(学校)班级。学生有一个记分牌。 (学校)班级有一个学生每个科目的“作业”列表,但它只有姓名、最高分、体重等信息。实际分数位于学生的记分板上。
- 许多学生在同一个班级。
- 任何时候都应该只存在一个作业实例,并且它应该存在于 SchoolClass 对象中,因为它随后会应用于整个班级而不是每个学生。
- 那么,学生应该只保留自己的分数,并从外部参考其余的作业数据。
我如何参考学生的具体作业?
这有点令人困惑。这是我目前拥有的:
class Student extends Person {
private SchoolClass schoolClass;
private Scorecard scorecard;
}
class Subject {
private String name; /// "Compilers II", "Data Structures", etc.
}
class SchoolClass {
private Course course; // "Computer Science", "Administration", etc.
private List<Assignment> assignments;
class Assignment {
private Subject subject;
private int maxScore;
private int weight;
private String name; // "Test about material resistance II"
}
}
class Scorecard {
// How to reference each assignment from each subject in this student's class cleanly?
}
我的设计是否朝着好的方向发展,还是应该删除它并重新开始?谢谢!
【问题讨论】:
标签: java class oop web-applications architecture