设置:有两种型号具有以下属性。
然后,我可以做以下
Person
has_many work_experiences
WorkExperience
belongs_to Person
Q1: available_dates
应该是属性(array of dates
)还是孩子(例如Person has_many available_dates
)?
Q2: Person
work_experiences
个jar xf app.jar
java -cp /lib/*:/ com/domain/module/Main
字段只是一个对象数组,而不是数据库中的单个表?
答案 0 :(得分:0)
TL; DR:在所有设计问题中,我认为答案是“它取决于。”
Q1:
我以前做过两种方式。如果我做出这个决定,我会考虑以下几点:
第二季度:
我不认为这对你的理智有好处。 DB具有简单的数据类型,并非设计用于保留对象模型。
答案 1 :(得分:0)
在Q1上我会使用关联而不是数组,因为它提供了更大的灵活性。所以,正如你所说的那样,孩子就是我要做的事。
在第二季度,我还将使用单独的WorkExperience模型,因为它还提供了更大的灵活性和增长空间。当Person开始收集工作经验并且查询信息可能比使用数组需要更复杂时,数组可能会变得有点混乱。使用单独的模型Active Record将为您提供许多工具,您可以使用这些工具来挖掘一个人的工作经历。
希望有所帮助。