如何编写特定于登录用户的对象

用户名

我正在编写C#MVC5 Internet应用程序,并且对模型结构有疑问。

我希望用户进行注册,一旦注册,用户就可以创建一些MapLocation对象。因为每个MapLocation对象都属于一个用户,所以我希望能够找到一个用户创建的所有MapLocation,如何编码模型?

我正在考虑两个场景,但是这两个都不正确。

方案1:

我编写了UserInfo类,并在用户注册时将其添加到ApplicationUser类。此类UserInfo类具有MapLocations列表。每当创建MapLocation时,就会将其添加到特定用户的UserInfo类中的MapLocations列表中。

方案2:

我在MapLocation对象中有一个字符串变量,用于存储登录用户的名称。每当我创建MapLocation对象时,登录用户的名称都会添加到该MapLocation对象中。然后,我可以根据字符串变量搜索MapLocations。

以上两种情况之一适合吗?有一个更好的方法吗?有没有适合这种情况的特定设计模式?

提前致谢

尤瓦尔·伊茨恰科夫(Yuval Itzchakov)

我同意前者,从OOP的角度来看,IMO似乎是更好的选择。我根本不想让MapLocation对象知道用户。或者,我将创建一个MapLocationManager,该内部保存一个LookUp将UserId映射到他创建的MapLocations列表的方法,这样我就可以摆脱ApplicationUser的管理MapLocations的职责,这可能导致您将ApplicationUser类移动到所有位置在您的代码中,需要访问那些MapLocations。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

TOP 榜单

热门标签

归档