2010-08-16 71 views
0

命名约定如果您在定义上的地址人财产像物业类型

public class Address 
{ 
    public int AdressId {get; set;} 
    public Person AddressesPerson {get;set;} 
    public string FullAddress {get; set;} 
} 

什么是正确的约定,如果有的话,命名另一种类型的属性?

回答

2

我不认为有一个硬性规定,但一般来说,我喜欢坚持以下原则尽可能:

  • 不要重复的名字类。这一次更是出奇地难以解决,但它通常是由苦苦思考的第二个规则解决:
  • 想想类属性的作用,而不是仅仅是什么。在你的例子中,Owner可能是一个合适的属性名称,因为Person拥有特定的Address
2

名称根据其语义属性。坦率地说,在一个地址上拥有一个Person属性是很奇怪的 - 通常情况下这是相反的。这里的人是什么意思?地址与人之间的关系是什么?例如,您可能有OwnerResident - 但在其他情况下,这可能不合适。

+0

没有被存储为地址的历史 – Shane 2010-08-16 19:19:09

+0

@Shane多不会忽略:那我可能仍然有定义为'词典<日期时间,地址> HistoricalAddresses'或一些这样的'Person'的属性。我从来没有听说过有人的地址... – AllenG 2010-08-16 19:22:12

+0

@AlllenG人确实有一个IList的地址,所以你不打扰映射到一个人,只要把它留在PersonId履行NHibernate的要求? – Shane 2010-08-16 19:26:49

0

我的名字从两种类型,例如之间的关系的特性居民,业主等

0

选择一个,并坚持下去。

在您的具体情况,我不知道为什么一个人是从属于一个地址,而不是周围的其他方法,但基本上只选择要使用并继续使用它的人。只要它不是完全不可读的或者与某种团队编码指南不符的,你可能会很好。

+0

有多个地址存储为地址历史记录 – Shane 2010-08-16 19:20:40