1

在我的示例中,我有一个 Person 类,其中有任意数量的关联地址与之关联。所以会有一个 Addresses 集合作为 Person 类的成员。

在许多使用 Person 类的应用程序中,我们只想检索“默认”地址对象。关于实现有几个设计问题:

  1. 在数据库中的每个地址记录上,我可以有一个标志来设置它是否是集合的默认值。或者,我可以有不同类型的地址(家庭、账单、送货等),并设置规则来说明如果某人有家庭地址记录,则将其用作默认值。如果没有,则使用运输等...
  2. 至于用于检索默认地址的接口,我们有很多方法可以做到这一点,我想知道一些 SO 人感觉最好的方法。

    Address a1 = myPerson.DefaultAddress;
    Address a1 = myPerson.Addresses["Default"];
    Address a1 = myPerson.Addresses.Default;
    

说“这取决于您的应用程序”可能是个好建议。让我先说我们正在为我们所有的新开发构建一些基础课程。所以我不一定只看我们正在构建的第一个应用程序作为类设计的最终决定。

4

1 回答 1

1

如果您为数据库中的每条记录设置标志,您将拥有最广泛的功能。硬编码显示默认地址的规则将限制您的设计。

对于数字 2,第三种实现听起来像是最面向对象的。

于 2009-01-12T18:51:43.703 回答