在我的程序中,“Book”对象的集合由“Shelf”对象保存,其中一系列由“Library”对象保存。
每个“书架”都有一定数量的书籍。目前,我有一本“参考”书来识别书架可以容纳的书。每个“Shelf”都有一个同一本书副本的ArrayList,它引用与“Reference”书相同的唯一对象。
当我将书架中的书籍转移给用户时,我是否应该转移“书籍”及其参考变量的整个实例,并从书架中删除该实例的参考变量?
或者...
我是否应该跟踪int变量留下的书籍数量,并简单地将参考变量的副本复制到“参考”书中给用户?
本质上......
自由记忆使用与保守派
物理转移与概念
分别
答案 0 :(得分:0)
据推测,图书馆书籍在架子上有固定的位置?
在这种情况下,我只会将图书标记为已签出,并记录图书到期时的日期以及对签出该图书的用户的引用。
在用户方面,他们可以拥有当前已签出的List
本书。这是一对多的关系。
这样,当用户检查书籍时,您只需要翻转一些标志,就不需要搜索书架上“书”的位置。
如果您正在尝试建模一个库,那么前一种方法似乎更适用......