ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • DTO와 DAO
    Server 2024. 11. 12. 12:06

    소프트웨어 개발에서 데이터 전송 객체(Data Transfer Object, DTO)와 데이터 접근 객체(Data Access Object, DAO)는 중요한 역할을 한다. 이 두 개념은 데이터의 처리와 전송을 효율적으로 관리하기 위해 사용되며, 각각의 목적과 사용 방법이 다르다. 

     


    DTO (Data Transfer Object)

    DTO는 데이터 전송 객체로, 주로 네트워크를 통해 데이터를 전송할 때 사용된다. DTO는 여러 속성을 가진 객체로, 데이터베이스의 엔티티와는 다르게 비즈니스 로직을 포함하지 않는다. DTO의 주요 목적은 데이터의 전송을 단순화하고, 네트워크 호출의 성능을 최적화하는 것이다.

    특징
    단순한 구조: DTO는 일반적으로 getter와 setter 메서드만을 포함하며, 비즈니스 로직이 없다.
    직렬화 가능: DTO는 네트워크를 통해 전송되기 때문에 직렬화가 가능해야 한다.
    데이터 집합: 여러 개의 필드를 포함하여 관련 데이터를 그룹화할 수 있다.

     

    사용 예시
    클라이언트와 서버 간의 데이터 전송
    API 응답 형식 정의
    데이터베이스에서 가져온 여러 엔티티를 하나의 객체로 묶어 전송

     

     


     


    DAO (Data Access Object)

    DAO는 데이터 접근 객체로, 데이터베이스와의 상호작용을 캡슐화하는 역할을 한다. DAO는 데이터베이스에 대한 CRUD(Create, Read, Update, Delete) 작업을 수행하며, 데이터베이스의 세부 사항을 숨겨준다. 이를 통해 비즈니스 로직과 데이터 접근 로직을 분리할 수 있다.

    특징
    데이터베이스 독립성: DAO는 특정 데이터베이스에 종속되지 않도록 설계되어, 데이터베이스 변경 시 비즈니스 로직에 영향을 주지 않는다.
    인터페이스 기반: DAO는 인터페이스를 통해 구현되며, 다양한 데이터베이스에 대한 구현체를 제공할 수 있다.
    트랜잭션 관리: DAO는 데이터베이스 트랜잭션을 관리하여 데이터의 일관성을 유지한다.


    사용 예시
    데이터베이스와의 CRUD 작업 수행
    복잡한 쿼리 로직을 캡슐화하여 비즈니스 로직에서 분리
    데이터베이스 연결 및 자원 관리를 효율적으로 처리

     

     

     

     


     

     

     


    DTO와 DAO의 차이점

     



     

Designed by Tistory.