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

퇴근후치맥님의 프로필 이미지
퇴근후치맥

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

변경 감지와 병합(merge)

BookForm 객체를 dto 로 사용하는 것은 어떤가요?

해결된 질문

작성

·

408

6

안녕하세요 선생님 강의 정말 잘 듣고 있습니다. jpa 와 관련있는 질문은 아니지만 너무 궁금해서 올렸습니다.

view 단에서 controller 단으로 데이터를 넘길 때  BookForm 객체를 넘기고 이 안의 데이터를 또다시 서비스로 넘길 때 넘길 파라미터가 많을 경우 dto를 생성하는 방법이 있다고 하셨는데 레이어 간의 구분을 명확히 하기 위한 관례 같은 건가요?

혹시 처음부터 BookForm 객체를 dto로 취급해서 넘기는 것은 좋지 않은 방법 인가요? 

답변 3

9

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요^^ 좋은 질문입니다.

질문하신 것 처럼 BookForm 객체를 처음부터 DTO로 취급해서 넘기셔도 됩니다.

다만 복잡한 실무 환경에서는 화면이 상당히 복잡하기 때문에 화면과 UI를 처리하기 위한 데이터들이 Form과 Controller에 들어가게 됩니다. 이런 Form을 그대로 서비스 계층에 넘기게 되면 서비스 계층이 UI 데이터를 처리하는 데이터들과 섞이기 때문에 유지보수가 점점 힘들어집니다^^

하지만 애플리케이션이 단순하다면 그냥 Form을 DTO로 취급해서 넘기셔도 됩니다^^

결국 이런 부분은 정답이 있다기 보다는 상황에 맞는 조금 더 나은 선택이 있을 뿐이지요^^

감사합니다.

7

김영한님의 프로필 이미지
김영한
지식공유자

네 맞습니다^^ 그런데 일반적으로 실무에서 단순한 경우가 거의 없으니 보통 Form은 컨트롤러 까지만 사용하시는 것을 권장합니다^^!

수고하세요 :)

0

주말 늦은 시간에 답변을 달아주시다니... 정말 감사합니다.

유지보수가 용이한 방향에 초점을 맞추면 되는 거군요.

퇴근후치맥님의 프로필 이미지
퇴근후치맥

작성한 질문수

질문하기