
의존관계와 관련된 용어 정리하고 가기
DAO (Data Access Object)
- 목적: 데이터베이스와의 상호 작용을 캡슐화하고, 데이터 액세스를 추상화하기 위한 객체
- 특징: 주로 CRUD 연산을 수행하며, 데이터베이스와의 접근을 캡슐화하여 비즈니스 로직에서 데이터베이스에 직접 접근하지 않도록 한다.
DTO (Data Transfer Object)
- 목적: 데이터 전송을 위한 객체로, 클라이언트와 서버 간의 데이터 교환을 위해 사용
- 특징: 주로 클라이언트와 서버 간의 효율적인 데이터 전송을 위한 최적화된 구조를 가지며, 주로 응답 데이터를 클라이언트로 전송할 때 사용
Repository
- 목적: 데이터베이스와의 상호 작용을 추상화하고, 단순한 인터페이스를 제공하여 개발자가 데이터를 쉽게 조회, 저장, 갱신, 삭제할 수 있도록 돕는 객체
- 특징: 주로 Spring Data JPA와 같은 프레임워크에서 사용되며, 엔터티에 대한 CRUD 연산을 수행하는 메서드를 제공
VO (Value Object)
- 목적: 값의 불변성과 일관성을 유지하며, 비즈니스 로직에서 사용되는 데이터를 표현하는 객체
- 특징: 주로 불변 객체로 설계되어 값을 그룹화하고 해당 데이터의 특징을 나타낸다. 데이터의 불변성을 유지하므로 안정적인 비즈니스 로직을 구축할 수 있다.
Entity
- 목적: 데이터베이스 테이블과 매핑되는 객체로, 데이터베이스와의 상호 작용 및 영속성을 제공
- 특징: 주로 데이터베이스 테이블과 일치하는 구조를 가지며, 주로 JPA 등의 영속성 프레임워크에서 사용된다. 데이터베이스와의 매핑을 담당하며, 주로 데이터베이스에서 데이터를 조회, 저장, 갱신하는 데 사용