인프런 커뮤니티 질문&답변

두잇베스트님의 프로필 이미지
두잇베스트

작성한 질문수

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

OSIV와 성능 최적화

OSIV off인 아키텍쳐에서 궁금해서 질문드립니다.

작성

·

312

·

수정됨

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
여기에 질문 내용을 남겨주세요.

영한쌤이 말씀해주신

Controller -> Application Service -> Domain Service

-> Repository에서

  • Application Service: 트랜잭션의 시작, Domian Service에 있는 순수 도메인 로직들을 활용하여, 복잡한 애플리케이션 비즈니스 로직을 구성

  • Domain Service : 도메인에 대한 순수한 로직으로 구성. Application Service의 도구로서 활용됨.

     

OSIV를 off 상태이기 때문에 Controller에 반환시 Application Service에서는 응답 Dto로 넘겨줘야 하는데

 

여기서 한가지 고민이 있습니다. 아키텍쳐는 위에서 아래로 순방향으로 흘러야 하는데 (역행, 순환 참초 X). Application Service에서 Controller단에 종속적인 응답 Dto를 넘기게 된다면, Application Service와 Controller간에 순환 참조와 역류 참조가 일어나지 않아 문제이지 않나 싶습니다... 상관이 없는지 아니면 어떻게 해결해야 좋을까요?

답변 1

1

안녕하세요. 두잇베스트님, 공식 서포터즈 y2gcoder입니다.

application service 계층의 dto를 controller 로 넘겨주고, controller 계층에서는 해당 서비스 계층 dto를 컨트롤러 응답에 사용하는 dto로 변환하여 사용하는 식으로 구현한다면 순환참조가 발생하지 않을 것 같습니다 :)

감사합니다.

dto를 더 만들고 싶지 않다는 귀차니즘 때문에 그 생각을 못했네요

 

항상 감사합니다 ㅎㅎ

두잇베스트님의 프로필 이미지
두잇베스트

작성한 질문수

질문하기