생성자 순환은 책임을 다시 나누라는 신호다

setter나 lazy로 감추기 전에 공통 규칙·event·좁은 reader로 의존 방향을 단순화한다.

양방향 생성자 의존
1Service A

ReportService 전체를 요구

2Service B

PostService 전체를 역으로 요구

3순환 발견

context가 객체 graph를 완성하지 못함

4재설계

domain service·event·reader 계약으로 분리

고리를 domain service·event·reader로 절단