Шаблон репозитория: Сколько репозиториев необходимо, чтобы получить контакт с двумя адресами? - PullRequest
2 голосов
/ 13 июля 2010

Если у вас есть один контакт, имеющий отношение 1: * с адресами и, возможно, одну или несколько других таблиц, используемых для хранения объектов постоянных значений - сколько должно быть хранилищ?

Должен ли быть только один ContactRepository с одним открытым методом (GetContact (), который внутренне вызывает закрытый метод (GetAddresses)), который возвращает полностью гидратированный объект (Contact + Addreses)?

Или должно быть два хранилища - одно для контактов, одно для адресов с репозиторием COntacts, вызывающим AddressRepository?

Или другое?

Спасибо!

1 Ответ

0 голосов
/ 13 июля 2010

Может ли что-нибудь кроме Контакта иметь адрес?

Если нет, то, вероятно, я бы подумал о наличии только ContactRepository.

Если бы существовали также такие объекты, как Order, Events и т. Д., Которые имеют адреса, я бы подумал об отдельном AddressRepository.,

Ваш пример Mulberry Road / drive подразумевает, что вам нужна только одна адресная запись для «123 Mulberry Rd», независимо от того, сколько контактов имеет этот адрес, что вполне может создать дополнительный импульс для создания AddressRepository.

...