728x90
반응형
VO, DAO, DTO 비교
VO는 데이터를 담는 불변 클래스로 사용되고, DTO는 데이터 전송을 위한 가변 클래스로 사용되며, DAO는 데이터 액세스를 추상화하고 실제 액세스를 처리하는 인터페이스와 구현체를 제공함
VO(Value Object)
값 오브젝트로 비즈니스 로직을 포함하지 않고 데이터를 담는 용도로 사용
일반적으로 변경 불가능한(immutable) 객체로 설계하며, 객체의 상태를 변경하는 대신 새로운 객체를 생성하여 전달
read-Only 특징
DTO와 유사하지만 DTO는 setter를 가지고 있으며, 주로 데이터베이스의 엔티티와 매핑되는 불변 클래스로 사용됨
DAO(Data Access Object)
데이터베이스의 data에 접근하기 위한 객체입니다.
DAO는 데이터 액세스를 위한 CRUD(Create, Read, Update, Delete) 기능을 제공하고, 영속성 처리를 담당
일반적으로 데이터베이스와의 통신을 처리하는 구현 클래스가 있으며, 이를 통해 실제 데이터 액세스가 이루어짐
JPA에서의 Repository의 기능과 동일한 역할
DTO(Data Transfer Object)
계층 간 데이터 교환을 하기 위해 사용하는 객체
비즈니스 로직을 가지지 않는 순수한 데이터 객체(getter & setter 만 가진 클래스)
데이터를 담는 용도로 사용되며, 일반적으로 변경 가능한(mutable) 객체
VO | DAO | DTO | |
비즈니스 로직 포함 여부 | X | O | X |
setter 포함 여부 | X | O | O |
반응형
'프로그래밍 > Spring' 카테고리의 다른 글
[Spring] @DeleteMapping 파라미터로 List 받기 (0) | 2024.05.13 |
---|---|
[Spring Security] 인증과 인가 간단 정리 (0) | 2023.03.23 |
[Spring Error] cannot deserialize from Object value (no delegate- or property-based Creator) (0) | 2022.09.29 |
[lombok Error] 롬복 설치했으나 @getter@setter 안 먹히는 경우 (0) | 2022.09.02 |
[Spring Error] 메이븐 프로젝트 서버 구동 시 에러 정리(+ pom.xml 플러그인 에러) (0) | 2022.09.01 |