2011-07-19 36 views
1

假设一个Person对象可以有多个地址,但必须有一个实现许多在对象模型中一个关系

你赞成使得一个需要地址的对象模型明确?如果是这样,任何实施技巧?

干杯,
Berryl

Person{ 
    Address TheRequiredAddress {get;}  

    IList<Address> OtherAddresses {....} 
} 

回答

2

我喜欢这个问题。与大多数设计决定一样,这是上下文相关的。这将如何使用。

假设我在西雅图有一个主要地址,凤凰城有一个避暑别墅,还有一个用于商业目的的信箱。我的主地址是否比我的其他地址有特殊的优先权,还是地址的选择是随意的?在您尝试我的避暑别墅或我的邮政信箱之前,您是否会尝试在西雅图找到我?

在对主地址进行不同处理的情况下,我会将其存储在明确分离的位置。否则,将它们存储在任意有序的集合中,并在类实现中至少强制执行一个。

+1

“..强制要求至少有一个..” - 例如w /构造函数 –

+0

@Josh G.我喜欢这个答案,因为你对它的依赖有一些好的想法!我也喜欢它,因为我同意你的意见: - ) – Berryl

相关问题