1

나는 위치 (position)를 가지고 있으며 위치를 식별자 (geography, biome, 등등)로 사용하는 몇몇 엔티티를 가지고있다. 내가 그들에게 접근하기를 원한다면, 나는 그것들의 위치에 의해 각각 하나씩 검색해야 할 것이다. 이것은 반복되는 코드를 일으킬 것이다. 반면에 "위치"와 같은 컨테이너 인 클래스를 만들 수 있습니다. 그러나이 경우 지리 정보를 검색하려면 데메테르의 법을 어겨 야합니다.도메인 개체를 보유하는 도메인 데이터 구조는 무엇입니까?

Repository.getLocation().getGeography().getHighestPeak(); 

다른 방법이 있습니까, 아니면 공통 패턴이 있습니까? 이 유형의 오브젝트 (설명 된 위치와 관련된)는 몇 개월 후에 크게 증가 할 가능성이 매우 높습니다.

+0

위치가 ID로 적합합니까? 하나의 엔티티에 대해 단 하나의 위치 만 보장하는 규칙이 있습니까? – MikeSW

+0

루트 집합체가 큰 것으로 보입니다. – jgauffin

답변

0

나는 그것이 ID

  • 엔티티의 위치가 불안정한 식별자로 연결하는, 변경 가능성 등의 위치를하는 것이 좋습니다 모르겠어요.

  • 동일한 위치에 지정된 엔티티의 여러 인스턴스를 가질 수 없습니다.

    한편

, 나는 "위치"와 같은, 용기있는 클래스를 만들 수 있습니다. 그러나이 경우 지리 정보 (예 :)를 검색하려면 I 은 데메테르의 법을 어겨 야합니다.

Repository.getLocation(). getGeography(). getHighestPeak();

기본적으로 위치에이라는 엔티티가 있습니다. 조금 어색합니다. 엔티티의 위치가 인 것은 훨씬 자연스러운 것 같습니다. 어때요

GeographyRepository.getGeographyByPosition(new Position(...)).getHighestPeak(); 

?

+0

글쎄, 기하학과 생물의 위치는 변하지 않을 것입니다. 도시도 아니다. – user1288851

관련 문제