도메인 순환 참조
배경
- 여러 도메인들을 정확히 둘로 나눌 수 없는 상황이 찾아온다.
- 비즈니스 그대로 코드로 작성하다 보면 도메인 서비스들이 서로 순환참조하는 상황이 발생한다.
예시
- 유저 조회 = 유저 + 즐겨찾기
- 즐겨찾기 조회 = 즐겨찾기 + 유저
해결 과정
중간 객체를 이용한 의존성 끊기
- 중간 객체를 만들어서 순환 참조를 끊어낼 수 있다.
느슨한 도메인 결합
- 생애주기가 다른 도메인들을 직접 의존하는 구조는 회피한다.
- 직접 의존하기 보다는 객체의 ID에 의존하는 느슨한 방법을 사용한다.
의존하기 보다는 주입 받아서 해결하기
- 직접 내부에서 호출하기 보다, 외부에서 주입받아서 실행하는 형태로 구성한다.
정리
- 추상적인 내용이 많아서, 직접 예시를 구성하며 이해를 높이는게 좋을게 좋을거 같다.