【发布时间】:2015-05-25 20:47:31
【问题描述】:
我正在使用 C# 中的 MVC 模式构建一个软件。该软件有一个具有许多类的复杂数据模型,并在运行时创建这些模型类的大量对象(由用户控制)。但是,一个类 (ParkingGarage) 的对象引用了另一类 (Car) 的对象 - 因此 ParkingGarage 对象存储对当前停放的所有 Car 对象(在一个数组中)的引用在特定的车库里。
班级Car
- Property (String) Model
- Property (String) Color
- Property (String) LicensePlate
班级ParkingGarage
- Property (String) Name
- Property (String) LocationAddress
- Property (Array) ParkedCars
当现在将Car 对象存储在ParkingGarage 对象的数组中时,我可以只拥有一个充满Car 对象的数组,还是应该只存储某种标识符(可能是Car类)?
我目前的假设是:如果我将 Car 对象添加到 ParkingGarage 对象的 Array ParkedCars 中,则该数组只包含对汽车对象的引用,对吧?我对此有什么问题吗?
【问题讨论】:
-
保持对对象集合(汽车)的引用很好,除非您遇到特定问题?一般来说,做最简单最容易的事情是好的,但当然,如果您预见到问题,那么请考虑延迟加载、过滤集合等。
-
通常您会将汽车存放在某种商店中,并有一个存储库来根据型号、品牌等获取您需要的汽车。
-
我担心的是内存问题,因为可能有很多汽车对象,万一有一个会被破坏,但车库对象仍然拥有引用。我对 C# 很陌生,因此不是内存管理专家。商店/存储库是什么意思?你能告诉我更多的细节吗?
标签: c# oop model-view-controller reference