2011-08-05 4 views
0

국가 코드 또는 내부 ID를 얻으려면 데이터베이스에 액세스하거나 단순히 등록 정보 파일을로드해야 할 수 있습니다.국가 코드 받기 - 서비스 또는 유틸리티 방법?

어떻게 그런 방법을 응용 프로그램에 넣을 수 있습니까? 실용적인 방법으로 그것은 어색해 보이므로 응용 서비스에 적합합니까?

답변

1

DDD에서이 유형의 메서드는 기본적으로 데이터 액세스 계층의 추상화 인 repository에 배치됩니다. 국가 코드와 같이 정적 인 데이터를 캐싱 할 수 있습니다.

1

제 경험상, 국가에는 내부 ID가 없습니다. (도메인이 다를 수 있습니다.) 따라서 도메인에 존재하지 않고 도메인 기반 디자인을 수행하고 있다면 국가 ID와 같은 인위적인 개념을 피하기를 원할 것입니다.

데이터베이스에 Address 테이블이 있다고 가정 해 보겠습니다. CountryId을 저장하는 대신 CountryAbbreviation을 대신 저장하십시오. 이것은 자연스러운 키입니다.

이제 주소에 유효한 country_id가 있는지 확인하는 방법은 무엇입니까? 모든 클라이언트의 제어에있는 경우 (예를 들어) 당신은 같은 것을 할 :

<select> 
    <option value="US">United States</option 
    <option value="UK">United Kingdom</option 
</select> 

위, 당신은 value 속성이 국가 약어 것을 볼 수 있습니다.

보고서가 국가 약어를 기반으로하지 않는 한, 도메인에 매우 중요하지 않는 한 보고서가 국가 표준을 준수하는지 확인하지 않아도됩니다.

관련 문제