В моем примере у меня есть класс Person с произвольным числом связанных адресов, связанных с ним. Так что будет коллекция Адреса как член класса Person.
Во многих приложениях, которые используют класс Person, мы просто хотим получить объект адреса «По умолчанию». Есть несколько вопросов дизайна относительно реализации:
- На каждой записи адреса в БД у меня может быть флаг, чтобы установить, является ли он по умолчанию для коллекции. В качестве альтернативы, я мог бы иметь разные типы адресов (Домашний, Выставление счетов, Доставка и т. Д.) И настроить правила, чтобы сказать, что если у человека есть запись Домашнего адреса, используйте его по умолчанию. Если нет, то используйте доставку и т.д ...
Что касается интерфейса, используемого для получения адреса по умолчанию, мы можем сделать это многими способами, и я хотел бы знать, что лучше для некоторых из SO.
Address a1 = myPerson.DefaultAddress;
Address a1 = myPerson.Addresses["Default"];
Address a1 = myPerson.Addresses.Default;
Вероятно, это хороший совет сказать: «Это зависит от вашего приложения». Позвольте мне упредить это, сказав, что мы строим некоторые основополагающие классы для всех наших новых разработок. Поэтому я не могу просто рассматривать это первое приложение, которое мы создаем, как последнее слово в дизайне классов.