IT'S DO
Published 2023. 8. 16. 16:35
VO, DTO의 차이 개발/JAVA
728x90

개발을 진행하다가 VO, DTO의 차이가 불명확하지 않아서. 메모할겸 글을 쓰게 되었다.

 


결론 : 

VO는 도메인 모델과 비즈니스 로직에 더 밀접하게 관련 있다고한다. 이 뜻이 무엇이냐면, 객체지향적인 소프트웨어 개발에서 주로 해당하는 개념이라는 뜻이다. 거기다가 유효성 검증하는 역할을 한다.

 

DTO는 주로 클라이언트에게 데이터를 제공하는데 중점을 둔 객체다. 한마디로 말해서 주로 API 응답에서 사용한다는 뜻.

비즈니스 로직에 잘 사용되지 않는다.

 


비즈니스 로직이란 : 

ex) 계좌 잔액 확인 : 계좌의 잔액을 확인하는데 필요한 프로세스와 규칙을 구함. 잔액 확인 시 계좌의 입출금 내역을 고려하여 정확한 잔액을 계산하고 반환하는 것.

이자 계산 : 예금 계좌의 이자를 계산하는 규칙을 구현함. 예금 금액과 이자율을 고려하여 이자를 계산하고 추가함.

 


내생각 : 

dto는 클라이언트에게 값을 전달하기 위해 로직을 이리저리 태워서 보내는게 아니고, 그냥 값 담아서 api로 던지는 것이고,  vo는 데이터는 보통 주로 읽기 전용이라고 한다. 그래서 값이 변하지 않고 해당 부분에 저장하는 느낌인데. 그것을 통해 위와 같은 로직을 태운 후 가공한 데이터 값을 responseDto에 넣고 rest api로 보내면 완벽하지 않을까 싶다. 

 

 

profile

IT'S DO

@멋진놈

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!