발생할 수 밖에 없는 일임. 다만 AService가 BRepository를 의존하고, BService가 ARepositroy를 의존하는 도메인 간 양방향 의존성이 일어나지 않게 주의해야함. 보통 사용자 도메인이랑 연관된 경우에서 많이 발생하는 문제임.
repo를 직접 의존할거냐 또다른 추상화 객체를 둬서 그걸 의존할거냐도 고민할 수 있고, 스프링 이벤트나 메시지큐같은거 이용해서 도메인간 의존성을 끊어낼 수도 있음
익명(qwebnm9)2023-12-16 22:47
답글
감사합니다. 스프링 이벤트나 메세지 큐 쪽을 한번 공부해보고 적용해보겠습니다.
익명(211.60)2023-12-16 23:14
답글
꼭 이벤트나 메세지 큐로 의존성을 분리할 필요까진 없음. 그냥 그런 방법도 있다고 말해준거고
개인적으론 처음엔 그냥 다 직접 의존하도록 덩어리로 만들어놓고 개선해가는 방향을 추천함
익명(qwebnm9)2023-12-16 23:23
답글
아 안그래도 좀 더 고민해봤는데 B의 서비스 레이어를 아예 만들지 않을까 해요.
현재 B는 단순한 삽입, 조회, 삭제만 있을 뿐 데이터의 가공이나 검증이 필요없는 도메인이라서요.
이렇게하면 교착상태가 일어날 가능성을 아예 배제시킬 수 있지 않을까 합니다..
익명(211.60)2023-12-16 23:37
답글
아키텍처에 정답은 없으니까 그런식으로 고민 많이 해봐 그림도 많이 그려보고
익명(qwebnm9)2023-12-16 23:59
답글
조언 감사합니다!
익명(211.60)2023-12-17 00:10
당연 주문서비스를 처리하는 클래스가 있으면, 주문 로직에서 회원이 존재하는지 먼저 확인 해야되는데 그럼 회원 리포지토리에 접근할 수 밖에 없음
발생할 수 밖에 없는 일임. 다만 AService가 BRepository를 의존하고, BService가 ARepositroy를 의존하는 도메인 간 양방향 의존성이 일어나지 않게 주의해야함. 보통 사용자 도메인이랑 연관된 경우에서 많이 발생하는 문제임. repo를 직접 의존할거냐 또다른 추상화 객체를 둬서 그걸 의존할거냐도 고민할 수 있고, 스프링 이벤트나 메시지큐같은거 이용해서 도메인간 의존성을 끊어낼 수도 있음
감사합니다. 스프링 이벤트나 메세지 큐 쪽을 한번 공부해보고 적용해보겠습니다.
꼭 이벤트나 메세지 큐로 의존성을 분리할 필요까진 없음. 그냥 그런 방법도 있다고 말해준거고 개인적으론 처음엔 그냥 다 직접 의존하도록 덩어리로 만들어놓고 개선해가는 방향을 추천함
아 안그래도 좀 더 고민해봤는데 B의 서비스 레이어를 아예 만들지 않을까 해요. 현재 B는 단순한 삽입, 조회, 삭제만 있을 뿐 데이터의 가공이나 검증이 필요없는 도메인이라서요. 이렇게하면 교착상태가 일어날 가능성을 아예 배제시킬 수 있지 않을까 합니다..
아키텍처에 정답은 없으니까 그런식으로 고민 많이 해봐 그림도 많이 그려보고
조언 감사합니다!
당연 주문서비스를 처리하는 클래스가 있으면, 주문 로직에서 회원이 존재하는지 먼저 확인 해야되는데 그럼 회원 리포지토리에 접근할 수 밖에 없음
접근하되 이슈 안생기게 잘 처리하도록 고민해봐야겠다..