继续从这个问题Good class design by example我有一个后续之一。如何创建一个对象“拥有”的集合?
我想创建一些其他对象拥有的集合。回顾一下,我有一个Person
班,我希望Person
能够有一个或多个Addresses
。所以我想我会创建一个Address
类和Addresses
集合。合理?这里是我的代码到目前为止
class Person
{
public Person(int SSN, string firstName, string lastName)
{
this.SSN = SSN;
FirstName = firstName;
LastName = lastName;
}
public int SSN { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
class Address
{
public Address(string line1, string postCode)
{
Line1 = line1;
PostCode = postCode;
}
public int ID { get; set; }
public string Line1 { get; set; }
public string PostCode { get; set; }
}
class Addresses : System.Collections.CollectionBase
{
public int Person { get; set; } // should this be of type Person?
public void Add(Address addy)
{
List.Add(addy);
}
public Address Item(int Index)
{
return (Address)List[Index];
}
public void Remove(int index)
{
List.RemoveAt(index);
}
}
我如何将许多地址与一个人关联?我想要做这样的事情在Main
:
Person p = new Person(123,"Marilyn","Manson");
Address a = new Address("Somewhere", "blahblah");
p.Addresses.Add(a);
我再想能够将地址保存到数据库中。我应该做Address.Save()
或Addresses.Save()
(或其他)?
我该如何更改我的代码来实现它?感谢您的期待。
一个人有一个地址。我不知道一个地址应该有一个人。 – Marlon 2011-05-26 16:30:15
保存自己的一些痛苦,使用仿制药 – Jodrell 2011-05-26 16:30:57