假设我有 3 个课程:
用户
建造
车
这些中的每一个都有其相关的属性。例如
用户有姓名、年龄、电子邮件
建筑物有年龄、房间、火警
汽车有品牌、座位、最高速度
假设我有一个数据库,用于存储用户与建筑物以及用户与汽车之间的关系。
在我的Building类中,我的save_building方法需要user_id。
我在这里有两个选择。
1)我可以在Building类中重新创建user_id属性(冗余且脆弱,也需要在Car类中复制)或2)我可以直接引用 user 对象并获取user_id。
这些似乎都不“正确”。
当我设置我的属性时,我也会验证它们,然后将这些验证的任何错误存储在对象本身中。如果我使用选项2,我必须在允许我的 save_building 方法继续之前检查另一个对象是否有错误,而不仅仅是检查我正在使用的对象。
选项1是正确的前进方式还是选项2?
编辑:为清楚起见,数据库关系表如下:
user_buildings: user_id, building_id
user_cars: user_id, car_id
Edit2:使问题非开放式。