我正在创建一个通讯应用程序,用户必须能够添加联系人。 联系人是两个用户对。
第一个问题:
我的User类中具有以下属性:
Guid AccountId { get; set; }
string Name { get; set; }
List<Contact> Contacts { get; set; }
List<Chat> Chats { get; set; }
现在我想对Contact类建模,这就是我想出的:
Guid ContactId { get; set; }
string Name { get; set; }
User UserA { get; set; }
User UserB { get; set; }
我与Contact类的问题是每个用户都有一个联系人列表。通过此联系人,一个用户可能可以访问另一用户的“联系人和聊天”。
这是一个有效的问题吗?如果是这样,如何防止这种行为发生?
第二个问题:
如何用一种更具描述性的方式命名UserA和UserB?用字母或数字来计数会觉得很脏。
答案 0 :(得分:1)
您在Contacts类中创建了一个循环引用问题,我不建议这样做。 Contact类不需要具有UserA和UserB属性。 Contact类仅负责处理Contact数据:
在这种情况下,您的第二个问题不再重要,您已经执行了职责。