这里的哲学问题当涉及到 OOP 和数据库,特别是类由数据库备份的程序时,解决这个问题的最佳方法是什么?例如,一个团队类可能有一组玩家。该程序将在启动时从数据库中加载所有团队数据,在内存中进行所有操作,然后在关闭时写入数据库。还是在发生更改时将每个数据操作写入数据库更好?如果这是更好的方法,为什么首先将数据加载到内存中?
另一个担忧是,在我看来,数据库以一种重要的方式打破了标准的 OOP。使用我的包含球员集合的球队类,使用 OOP,球员类不需要有一个属性来保存球队名称。玩家将从其所属的团队类别中获得团队名称。现在,要将球员保存在数据库中,每个球员记录都必须有一列用于球队名称(或球队 ID,但这是同一件事)。
换句话说,如果你需要一个 GetAllPlayers() 方法,你是让它成为团队类中的成员方法,从内存中返回集合中的所有玩家,还是在玩家类中创建一个静态方法来获取所有数据库中的玩家?
有人对如何回答这些问题有任何提示吗?
我已经有一段时间没有上编程课了。任何人都知道一本很好的教科书可以理解这里的最佳方法吗?