什么类型的参考数据的子对象?

时间:2010-03-04 23:36:35

标签: c# .net oop business-objects

我有一个对象CaseNote,它有许多子对象,如CaseNoteContactType。对于1个CaseNote,可以有x个CaseNoteContactType。在UI中,ContactTypes显示在CheckListBox中。

我的问题是如何表示ContactType子对象?这是一对简单的int|string对。

public Class CaseNote
{
  public Guid CaseNoteID { get; set; }
  ...
  public ??? ContactType { get; set; }
  etc...
// Down here would be Methods for saving, loading, validating, etc...
}

ContactTypeDictionary吗? IEnumerable<ContactType>arraycollectionList<ContactType> ??

在这些场景中有什么意义?在没有CaseNote的情况下,ContactType不存在但是它足以使它成为一个Object吗?我不明白每种类型的含义。此外,CaseNote可以有0到30个ContactTypes吗?

假设我开始创建一个ContactType类的路径,子类是否需要一个属性来存储它的Parent的ID?

指导非常感谢。

如果我离开这里,那是因为我从来没有真正正确地设置商业对象,现在正在努力使我的环境融入我所读过的内容。

1 个答案:

答案 0 :(得分:2)

ContactType听起来像参考数据。 CaseNote可以具有0或N个ContactType,并且单个ContactType可以与许多CaseNotes相关联。这是对的吗?

如果是这样,我建议你创建一个名为ContactType的新类型,它包含两个属性,Id和Name(假设这是int和string的用途):

public class ContactType
{
    public int Id { get; set; }
    public string Name { get; set; }
}

然后在你的CaseNote类中,我将它们声明为List(或IList接口):

public IList<ContactType> ContactTypes { get; set; }

要检查他们是否有任何ContactTypes,您可以这样做:

if( myCase.ContactTypes.Count > 0 )
{
    ...
}