도메인 순환 참조

배경

  • 여러 도메인들을 정확히 둘로 나눌 수 없는 상황이 찾아온다.
  • 비즈니스 그대로 코드로 작성하다 보면 도메인 서비스들이 서로 순환참조하는 상황이 발생한다.

예시

  • 유저 조회 = 유저 + 즐겨찾기
  • 즐겨찾기 조회 = 즐겨찾기 + 유저

해결 과정

중간 객체를 이용한 의존성 끊기

  • 중간 객체를 만들어서 순환 참조를 끊어낼 수 있다.

느슨한 도메인 결합

  • 생애주기가 다른 도메인들을 직접 의존하는 구조는 회피한다.
  • 직접 의존하기 보다는 객체의 ID에 의존하는 느슨한 방법을 사용한다.

의존하기 보다는 주입 받아서 해결하기

  • 직접 내부에서 호출하기 보다, 외부에서 주입받아서 실행하는 형태로 구성한다.

정리

  • 추상적인 내용이 많아서, 직접 예시를 구성하며 이해를 높이는게 좋을게 좋을거 같다.

Reference