서비스가 다른 서비스를 참조하도록 설계를 하는게 좋을지, 아니면 서비스는 다른 서비스를 의존하지 않고, 여러 개의 DAO를 가지고 오도록 하면 좋을지에 대한 고민이였다.
서비스가 다른 서비스를 가지는 경우의 장단점은 명확했다.
- 장점: 유효성 검사 등 비즈니스 로직의 중복 코드를 제거할 수 있다.
- 단점: 서비스 간의 순환 참조가 발생할 수도 있다.
→ 내가 내린 결론
- 중복 코드 제거의 장점을 가져가기 위해 서비스가 다른 서비스를 가질 수 있는 방법을 선택
- 순환 참조가 발생하지 않게, 서비스간의 계층을 잘 설계해야된다.