2012-02-10 4 views
1

현재 내 문제는입니다.코드 번호 기타 값

CodeBookCodeDescription의 두 속성으로 구성된 엔터티입니다. 이것은 추상 클래스입니다. 그 클래스를 클래스 Domain으로 확장했습니다.
도메인 클래스도 추상 클래스이며 enum DomainType을 포함하며 값은 입니다. NATIONALITY, NATIVE_LANGUAGE, DISEAS ..

이제는 데이터로 채워지는 "문서"엔티티를 만들어야합니다.

예를 들어, 고객은 국적을 선택해야합니다. domainType.NATIONALITY에 대해 코드북 DomainNationality (도메인 확장)에 입력 된 값 목록에서 하나를 선택하지만 내 국적이 나의 CodeBook 인 경우 어떻게됩니까? 그가 선택할 수있는 옵션 OTHER을 붙이 겠지만, 나는 그가 OTHER 국적을 입력 할 곳에 필드를 넣어야합니다.

다른 국적의 기록은 어떻게 보관합니까? 지금은 내 문서 엔티티가 DomainNationality.DomainSex, DomainNativeLanguage 등과 같은 연관 링크가 있습니다. 내 문서의 모든 도메인 옆에있는 문자열 필드가 가장 쉽고 간편한 솔루션입니까? 클라이언트가 CodeBook에 새로운 자료를 입력하게하고 싶지 않습니다.

감사합니다.

답변

0

이것은 주로 디자인 결정입니다. 당신은 당신이 당신의 객체 책임을 디자인하는 어떤 방법으로도 그것을 할 수 있습니다. 하지만 내 생각은 다음과 같습니다. 고객의 국적이 귀하가 제공하는 것 중 하나가 아니며 사용자 지정 국적을 입력 할 필드를 제공하려는 경우 귀하는 국적을 해당 개체의 문자열로 저장해야합니다 (enum). 고객의 국적이 사전 정의 된 것인지 여부는 언제든지 나중에 확인할 수 있습니다.