给出以下表格:User,Trial,UserTrial。如果用户有多个试用版,则试用版不会在内部映射到任何用户,并包含关于试用版(名称,描述,设置)的详细信息,而UserTrial包含特定于实例的信息用户的试用(例如,到期日期)。 MVC应用程序的控制器访问UserTrial数据的正确方法是什么?
似乎有两种选择:
User.SetTrial() User.GetUserTrial()
UserTrial.SetUser() UserTrial.SetTrial() UserTrial.GetSomeData()
哪种用法最合适?
答案 0 :(得分:0)
我认为你的选项1不会起作用,因为如果每个用户可以进行多次试验,那么你需要像User.AddTrial(Trial),User.RemoveTrial(Trial),User.getUserTrails()。< / p>
您选择哪种设计选项取决于您是否要将UserTrial对象设为“头等舱”。您是否想要将User和Trials视为UserTrial对象的主要对象,只是粘合以保存关系,或者您是否希望UserTrial对象也是主要对象?如果是前者,你会想要像你的选择1;如果是后者,你会想要类似你的选择2。