https://tecoble.techcourse.co.kr/post/2021-04-25-dto-layer-scope/
DTO의 사용 범위에 대하여
1. DTO란? DTO(Data Transfer Object)란 계층간 데이터 교환을 위해 사용하는 객체(Java Beans)입니다. 간략하게 DTO의 구체적인 용례 및 필요성을 MVC 패턴을 통해 알아볼까요? 🚀 1.1. MVC 패턴 MVC…
tecoble.techcourse.co.kr
https://velog.io/@geesuee/JAVA-%EC%9E%90%EB%B0%94-MVC%EC%99%80-DTO
[JAVA] 자바 MVC와 DTO
1. MVC란? = Model View Controller MVC(모델-뷰-컨트롤러)는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴으로, 소프트웨어의 비즈니스 로직과 화면을 구
velog.io
DAO (Data Access Object)
데이터베이스의 데이터에 접근하기 위해 생성하는 객체.
쉽게 말해, DAO를 통해 DB를 연결하여 데이터를 가져오거나, 삭제, 수정등 CRUD를 작업하는 것이라고 생각하면 된다.
DAO는 DataBase에 접근하기 위한 로직과 비지니스 로직을 분리하기 위해 사용한다.
그 이유는 다른 로직에서 DB를 통해 데이터를 얻어오려면 DB Driver와 Connection 객체를 생성하여 작업량이 많아지는데, DB와 연결하는 객체를 따로 만들어 관리함으로써 비효율적인 작업량을 줄일 수 있다.
DTO (Data Transfer Object), VO(Value Object)
계층 간 데이터 교환을 하기 위해 사용하는 객체.
로직을 가지지 않는 순수한 데이터 객체(getter & setter만 가진 클래스)이다.
즉, DAO가 DB에서 얻어온 데이터를 Service나 Controller로 보낼 때 getter와 setter를 통해 얻어 사용한다.
하지만 DB에서 꺼낸 값을 임의로 변경할 필요가 없기 때문에 DTO클래스에는 setter가 없다. (대신 생성자에서 값을 할당한다.)
DTO는 MVC중 Model쪽에 속하여 MVC 흐름 속에서 데이터가 교환될 수 있도록 하는 객체이다.
Controller는 View - Model의 데이터를 주고 받을 때 별도의 DTO를 주로 사용한다.
Entitiy의 개념을 포함하고 있다.
'Study > CS' 카테고리의 다른 글
[CS] Rest API: URL 디자인 가이드 (0) | 2022.02.11 |
---|---|
[Network] 라우팅(Routing) (0) | 2021.12.19 |
[CS] REST API, REST-ful이란? (0) | 2021.12.14 |
[CS] 계층화 아키텍쳐(Layered Architecture) (0) | 2021.12.07 |
[CS] MVC (Model, View, Controller) 디자인 패턴 (0) | 2021.12.03 |