假设一个Person对象可能有很多地址但必须有一个
您是否赞成在对象模型中明确显示所需的地址?如果是这样,任何实施提示?
干杯,
Berryl
Person{
Address TheRequiredAddress {get;}
IList<Address> OtherAddresses {....}
}
答案 0 :(得分:2)
我喜欢这个问题。与大多数设计决策一样,这是上下文的。如何使用它。
假设我在西雅图有一个主要地址,在凤凰城有一个避暑别墅,还有一个用于商业目的的邮政信箱。我的主要地址是否会优先于我的其他地址,或者地址的选择是否是任意的?在你尝试我的避暑别墅或我的邮政信箱之前,你会试着在西雅图找我吗?
如果主要地址的处理方式不同,我会将其存储在明确不同的位置。否则,将它们存储在任意排序的集合中,并在类实现中强制执行至少一个要求。