객체 디자인 패턴 DAO, VO, DTO

toget ㅣ 2023. 10. 24. 16:59

DAO, VO, DTO는 주로 데이터베이스 연산과 관련된 객체 지향 프로그래밍에서 사용되는 디자인 패턴 및 용어입니다.

 

DAO (Data Access Object)

정의: 데이터베이스의 CRUD(Create, Read, Update, Delete) 연산을 캡슐화하는 객체입니다.

목적: 데이터베이스 연산과 비즈니스 로직을 분리하여 코드의 유지 보수를 용이하게 합니다.

사용 예시: UserDAO는 사용자 정보와 관련된 데이터베이스 연산을 담당하며, getUserById(int id), insertUser(UserDTO user) 등의 메서드를 포함할 수 있습니다.

 

VO (Value Object)

정의: 비즈니스 로직에서 사용되는 값을 표현하는 객체입니다. VO는 불변 객체로 설계되기도 합니다.

목적: 데이터를 객체 지향적으로 표현하여 로직 처리를 쉽고 안정적으로 만듭니다.

사용 예시: AddressVO는 거리, 도시, 우편 번호와 같은 주소 정보를 표현하는데 사용됩니다.

 

DTO (Data Transfer Object)

정의: 시스템의 서로 다른 부분 간에 데이터를 전송하는 데 사용되는 객체입니다. 흔히, 클라이언트와 서버 간의 통신이나 데이터베이스와의 통신에서 사용됩니다.

목적: 여러 데이터를 하나의 객체로 묶어 효과적으로 데이터를 전송하게 합니다.

사용 예시: UserDTO는 사용자의 이름, 이메일, 주소와 같은 사용자 정보를 포함하여 서버에서 클라이언트로, 또는 데이터베이스에서 애플리케이션으로 전송될 때 사용됩니다.