생성자 순환은 책임을 다시 나누라는 신호다
setter나 lazy로 감추기 전에 공통 규칙·event·좁은 reader로 의존 방향을 단순화한다.
양방향 생성자 의존
1Service A
ReportService 전체를 요구
2Service B
PostService 전체를 역으로 요구
3순환 발견
context가 객체 graph를 완성하지 못함
4재설계
domain service·event·reader 계약으로 분리
고리를 domain service·event·reader로 절단