我对(精神上)连接数据库和面向对象的编程感到困惑。
例如,想象一个教师的成绩簿应用程序,其 UI 在表格的行中显示学生,在列中显示作业。底层数据库可能包含多对多关系:一个学生有很多作业,而一个作业有很多学生。
底层代码如何工作?您是否有一个带有引用作业列表的变量的 Student 类?还是带有引用学生列表的变量的作业类?两个都?...您是否有某种 StudentAssignment 类链接 Student 和 Assignment 的实例?(如果是这样,这是否意味着一个有 50 个学生和 10 个作业的班级同时在内存中有 500 个 StudentAssignment 对象、50 个 Student 对象和 10 个 Assignment 对象?!)......然后这些不同的类主要由(对于例如)使用底层数据库的 SQL 语句?
我知道这里有很多问题,但它们都在一起......编码多对多关系的普遍接受的策略是什么?
ps 只是为了让您不认为我很懒惰,我确实看过其他问题,例如如何在代码中建模多对多关系?和建模 manyToMany 与 attributes 的关系。