카테고리 없음

DAO, DTO 개념

ZI_CO 2023. 12. 17. 21:16

DAO (Data Access Object):

DAO는 데이터베이스에 접근하고 상호작용하기 위해 사용되는 객체입니다.

DAO는 애플리케이션과 데이터베이스 간의 통신을 처리하는 역할을 담당합니다.

데이터베이스에서 데이터를 생성, 조회, 수정, 삭제하는 등의 작업을 수행합니다.

비즈니스 로직과 데이터베이스 로직을 분리함으로써, DAO는 애플리케이션의 유지보수성과 확장성을 향상시키는 데 도움을 줍니다.

DAO의 주요 목적은 애플리케이션과 데이터베이스 사이에 추상화 계층을 제공하는 것입니다. 

DAO는 데이터베이스 작업을 캡슐화하고 애플리케이션이 데이터베이스와 상호작용할 수 있는 깔끔하고 일관된 인터페이스를 제공합니다. 

이를 통해 애플리케이션은 기반이 되는 코드를 수정하지 않고 다른 데이터베이스와 함께 작동할 수 있습니다.

DAO 패턴은 코드 재사용성을 달성하는 데도 도움이 됩니다.

DAO를 통해 데이터베이스 작업을 중앙 집중화함으로써 애플리케이션의 여러 부분에서 동일한 코드를 재사용할 수 있습니다.

이는 코드 중복을 줄이고 코드베이스를 더욱 관리하기 쉽게 만듭니다.

DTO (Data Transfer Object):

DTO는 데이터 전송을 위해 사용되는 객체입니다. 

주로 애플리케이션의 다른 계층 간이나 서로 다른 애플리케이션 간에 데이터를 캡슐화하고 전송하는 데 사용됩니다. 

DTO는 데이터를 저장하기 위한 목적으로 사용되며, 주로 데이터베이스 테이블과 매핑되는 구조를 가지고 있습니다. 

DTO는 비즈니스 로직을 포함하지 않으며, 단순히 데이터를 전송하기 위한 용도로 사용됩니다.

DTO는 데이터 전송을 위해 표준화된 형식을 제공하는 것이 주요 목적입니다. 

주로 애플리케이션 계층과 표현 계층, 또는 애플리케이션 계층과 데이터 액세스 계층 사이에서 데이터를 전송할 때 사용됩니다.

DTO는 필요한 데이터만을 포함하고 비즈니스 로직은 포함하지 않습니다. 데이터를 저장하는 간단한 컨테이너 역할을 합니다.

DTO는 전송되는 데이터가 기반 데이터베이스의 구조와 정확히 일치하지 않거나 표현 목적으로 추가 데이터가 필요한 경우에 주로 사용됩니다. 

DTO는 수신 계층이나 애플리케이션의 요구에 가장 적합한 형태로 설계되어 효율적이고 정확한 데이터 전송을 보장합니다.

요약하자면, DAO와 DTO는 소프트웨어 개발에서 둘 다 중요한 개념입니다. 

DAO는 데이터베이스 접근과 통신을 담당하고, DTO는 계층 간이나 애플리케이션 간에 데이터 전송을 위해 사용됩니다. 이러한 개념을 효과적으로 이해하고 구현함으로써 개발자는 애플리케이션의 유지보수성, 확장성 및 효율성을 향상 킬 수 있습니다.