我有一个Active Record模式的课程。让我们称之为“汽车”。所以我有我的所有方法,如插入,更新等,但它们只适用于单个对象。如果我想处理这些对象的列表怎么办?我应该创建一个单独的类,让我们说“CarCollection”将用于处理Car对象列表吗?或者我应该在我的Car类中创建一个返回Car对象列表的方法?我是OOP的初学者,但第二个选项(返回列表的方法)似乎有点不对。
感谢您的回答。
答案 0 :(得分:2)
正如你自己说的:你将不得不使用一系列汽车。问题是你要在哪个班级存储这个清单。
当您仅将其用作独立示例时,您可以将该集合存储在包含main
方法的类中。实际上,虽然你可能有一个类Dealership
或类似的东西,逻辑上包含汽车列表。
还有一些其他可能性,例如专门用于对象CarManager
等对象列表执行操作的类,但是要谨慎使用它们。
答案 1 :(得分:0)
不是活跃记录模式的忠实粉丝,但是如果你走这条路线,我会期望返回多辆车的方法仍然存在于你的Car
课程中 - 你不会使用单独的课程。
这似乎就是Rails的方式。
答案 2 :(得分:0)
使用数组,列表或字典是标准做法。我喜欢使用词典,因为将类与唯一条目链接起来非常快。
创建一个名为car的类(非结构)。
您可以在词典中使用它来启用主要唯一键加速。
Public class Car
{
public string id;
public string name;
}
创建:
Dictionary<string, Car> carList = new Dictionary<string, Car>();
您可以在方法中添加它并将其作为参数传递或创建为全局(根据您的应用程序)
添加:
Car car = new Car(){id = "1", Name="car1"};
carList[car.id] = car;
您可以使用Linq将您的类链接在一起(几乎像SQL): Basic LINQ Queries