DTO is VO?
• DTO
- 정의
• Data Transfer Object
• 레이어 간 데이터를 전달하는 객체
ex) OMR 카드
- 특징
• 데이터 접근 메서드 외에 기능을 가지지 않음
- 정렬, 직렬화 등 데이터 표현을 위한 기능은 가질 수 있음
• 데이터의 캡슐화를 통해 유연한 대응이 가능함
- 데이터 요청 수 감소 효과
• VO
- 정의
• Value Object
• 값을 가지는 객체
ex) MONEY
- 특징
• 값 자체로 의미를 가지는 객체
• 변하지 않는 값을 가지는 객체
- 값이 변하지 않음을 보장하여 코드의 안정성과 생산성을 높임
• 값이 같다면 동일한 객체
- 각 개체를 비교하는 데 사용되는 ID가 없음
- 같은 객체인지 판단하기 위해 각 속성들의 값을 비교함
• 공통점
• 레이어 간 데이터를 전달할 때 사용 가능
- VO는 불변을 보장하기 때문에 데이터 전달 용도로 사용 가능
• 차이점
DTO | VO |
---|---|
- 값이 변할 수 있음 - 레이어와 레이어 사이에서 사용 - DTO dto1(1) != DTO dto2(1) - 데이터 접근 이외의 기능을 가지지 않음 |
- 값이 변하지 않음 - 모든 레이어에서 사용 가능 - VO vo1(1) == VO vo2(1) - 특정한 비즈니스 로직을 가질 수 있음 |
출처 : 우아한Tech(10분 테코톡)
댓글남기기