dao(data access object)
데이테베이스의 data에 접근하기 위한 객체(database 접근하기 위한 로직을 담은 객체)
database 접근을 하기 위한 로직과 비지니스 로직을 분리하기 위해 사용됨
데이터베이스와 연결할 connection 까지 연결되어 있는 경우가 많다
mybatis등 프레임워크를 사용시 커녁션풀까지 제공되기 때문에 dao를 별도로 만드는 경우는 드물다
dto data transfer object 자료 전달 객체
계층간 데이터 교환을 위해 자바 beans
로직을 가지지 않은 순수한 데이터 객체이고 getter setter 메소드만 가진 클래스를 의미
자료 구조체의 전형적인 형태 공개변수만 있고 함수는 없는 클래스.
layer 간(server-> view 이동등) 데이터를 넘길때 사용되는 이유
vo (value object)
값 오브젝트로써 값을 위해 쓰임
readonly
중간에 값을 바꿀 수 없고 새로 만들어야 함
dto vs vo
공통점
데이터를 담은 객체
넣어진 데이터를 getter 를 통해 사용
dto 의 경우 가변의 성격을 가진 클래스(setter 사용)
vo 의 경우 불변의 성격을 가짐
| dao | dto | vo | |
| 공통점 | 데이터를 담는 객체 | ||
| 로직을 포함하는가? | o | x | |
| 특징은? | readonly | ||
| 메소드 | getter setter | getter | |
'언어공부 > java, spring' 카테고리의 다른 글
| [용어정리] 의존이란 (0) | 2022.05.19 |
|---|---|
| [개념 정리] spring mvc model (0) | 2022.05.06 |
| final 이란 (0) | 2022.04.21 |
| @ComponentScan이란 (0) | 2022.04.21 |
| [0321] java (0) | 2022.03.21 |