Кодовая книга ДРУГОЕ значение - PullRequest
1 голос
/ 10 февраля 2012

У меня проблема с моим текущим CodeBook.

CodeBook - это объект, состоящий из двух атрибутов, Code и Description.Это абстрактный класс.Я расширил этот класс с помощью класса Domain.
. Доменный класс также является абстрактным классом и содержит enum DomainType, который имеет значения: например, NATIONALITY, NATIVE_LANGUAGE, DISEAS .. и т. Д.

Теперь я должен сделать «документ» сущности, которые позже будут заполнены данными.

Так, например, клиент должен выбрать национальность.Он выберет одно из списка значений, которые были введены в кодовую книгу DomainNationality (расширяет домен) для domainType.NATIONALITY, НО, что если у меня нет его гражданства в моем CodeBook?Я поставлю опцию OTHER, которую он может выбрать, но мне также нужно указать поле, в котором он будет печатать свою OTHER национальность.

Как мне вести учет этой другой национальности?Прямо сейчас мои сущности документа имеют ассоциативные ссылки на DomainNationality.DomainSex, DomainNativeLanguage и т. Д. Является ли поле «Строка» рядом с каждым доменом в моем документе лучшим и самым простым решением?Я не хочу, чтобы клиенты вводили новые вещи в CodeBook.

Спасибо!

1 Ответ

0 голосов
/ 10 февраля 2012

Это в основном ваше дизайнерское решение.Вы можете сделать это любым способом, которым вы проектируете свои объектные обязанности.Но вот мои мысли: поскольку вы говорите, что возможно, что национальность клиента не входит в число тех, которые вы предлагаете, и хотите предложить ему / ей поле для ввода пользовательского гражданства, вам следует просто сохранить национальность в виде строки в объекте ( без перечисления ).После этого вы всегда можете проверить, является ли национальность клиента одной из заранее определенных.

...