Исходя из этого вопроса Хороший дизайн класса на примере У меня есть дополнительный.
Я хочу создать несколько коллекций, которые принадлежат другим объектам.Напомним, у меня есть класс 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()
(или что-то еще)?
Как бы я изменил свой код для реализации этого?Спасибо за поиск.