본문 바로가기
프로그래밍

도메인 주도 개발(Domain Driven Development) - DAO, DTO, VO에 대해서

by bantomak 2023. 7. 18.

DAO (Data Access Objcet)

데이터베이스의 data에 접근하기 위한 객체. 로직 & 비즈니스 로직을 분리하기 위해 사용한다.

 

DTO (Data Transfer Object)

dto

계층(Layer) 간 데이터 교환을 하기 위해 사용하는 객체로, DTO는 로직을 가지지 않는 순수한 데이터 객체이다.

(getter & setter 만을 가진 클래스)

 

유저가 입력한 데이터를 DB에 넣는 과정

  • 유저가 자신의 브라우저에서 데이터를 입력하여 form에 있는 데이터를 DTO에 넣어서 전송
  • 해당 DTO를 받은 서버가 DAO를 이용하여 데이터베이스로 데이터를 집어 넣음

 

Controller, Service, DAO는 객체를 주고받는다. 여기서 주고받는 객체가 DTO이다.

 

VO (Value Object)

값 오브젝트를 의미하며 값을 표현하는데 쓰인다. read-only 특징(사용하는 도중에 변경이 불가능하며 오직 읽기만 가능)을 가진다. DTO와 유사하지만 DTO는 setter를 통해서 값을 변경할 수 있다.

 

 

함께 읽으면 좋은 글

 

DTO의 사용 범위에 대하여

1. DTO란? DTO(Data Transfer Object)란 계층간 데이터 교환을 위해 사용하는 객체(Java Beans)입니다. 간략하게 DTO의 구체적인 용례 및 필요성을 MVC 패턴을 통해 알아볼까요? 🚀 1.1. MVC 패턴 MVC…

tecoble.techcourse.co.kr

 

출처

 

DAO, DTO, VO 란? 간단한 개념 정리 - Easy is Perfect

 

melonicedlatte.com

댓글