728x90
개발을 진행하다가 VO, DTO의 차이가 불명확하지 않아서. 메모할겸 글을 쓰게 되었다.
결론 :
VO는 도메인 모델과 비즈니스 로직에 더 밀접하게 관련 있다고한다. 이 뜻이 무엇이냐면, 객체지향적인 소프트웨어 개발에서 주로 해당하는 개념이라는 뜻이다. 거기다가 유효성 검증하는 역할을 한다.
DTO는 주로 클라이언트에게 데이터를 제공하는데 중점을 둔 객체다. 한마디로 말해서 주로 API 응답에서 사용한다는 뜻.
비즈니스 로직에 잘 사용되지 않는다.
비즈니스 로직이란 :
ex) 계좌 잔액 확인 : 계좌의 잔액을 확인하는데 필요한 프로세스와 규칙을 구함. 잔액 확인 시 계좌의 입출금 내역을 고려하여 정확한 잔액을 계산하고 반환하는 것.
이자 계산 : 예금 계좌의 이자를 계산하는 규칙을 구현함. 예금 금액과 이자율을 고려하여 이자를 계산하고 추가함.
내생각 :
dto는 클라이언트에게 값을 전달하기 위해 로직을 이리저리 태워서 보내는게 아니고, 그냥 값 담아서 api로 던지는 것이고, vo는 데이터는 보통 주로 읽기 전용이라고 한다. 그래서 값이 변하지 않고 해당 부분에 저장하는 느낌인데. 그것을 통해 위와 같은 로직을 태운 후 가공한 데이터 값을 responseDto에 넣고 rest api로 보내면 완벽하지 않을까 싶다.
'개발 > JAVA' 카테고리의 다른 글
[JAVA] Flatmap 사용 (0) | 2025.01.14 |
---|---|
[CORS] 해결 (Proxy Pattern) (0) | 2024.10.02 |
[stream API] 같은 뜻 간결하게 만들기 위해 사용 (0) | 2023.04.19 |
[Java] if문을 조건부 연산자로 변경 (0) | 2023.03.06 |
[JAVA] api 요청시 Return JSON 데이터 Pretty로 나오게 하는법. (0) | 2023.03.02 |