DTO – Data Transfer Object

DTO – Data Transfer Object

https://www.geeksforgeeks.org/transfer-object-pattern-in-java/

Data Transfer Object는 애플리케이션의 여러 계층 간에 데이터를 전송하기 위해 사용하는 객체

DTO는 데이터베이스나 비즈니스 로직 계층의 내부 구현을 외부로 노출하지 않고 데이터를 캡슐화하여 전송하는 역할

주요 역할과 이점

  1. 캡슐화
    비즈니스 로직을 캡슐화하여 외부에 노출하지 않고, 필요한 데이터만 전송
  2. 보안
    민감한 정보를 보호하고, 필요한 데이터만 노출함으로써 보안을 강화
  3. 데이터 무결성
    데이터 전송 시 불필요한 데이터 변형을 방지하여 데이터 무결성을 유지
  4. 성능 향상
    필요한 데이터만 전송함으로써 네트워크 트래픽을 줄여 성능을 향상
  5. 유지보수성
    시스템 계층 간 의존성을 줄여 코드의 유지 보수성을 높임 (프리젠테이션 계층과 비즈니스 로직 계층을 분리)
  6. 데이터 형식 변환:
    데이터베이스 모델과 다르게 포맷된 데이터가 필요할 때 DTO를 사용하여 쉽게 변환

UserEntity

public class User
{
    public int Id { get; set; }
    public string FullName { get; set; }
    public string Email { get; set; }
    public string Password { get; set; } // 민감한 정보
}

UserDTO

public class UserDTO
{
    public int Id { get; set; }
    public string FullName { get; set; }
    public string Email { get; set; }
}

사용 예제

public UserDTO GetUser(int id)
{
    User user = userService.GetUserById(id); // User 엔티티를 가져옴
    UserDTO userDTO = new UserDTO
    {
        Id = user.Id,
        FullName = user.FullName,
        Email = user.Email
    };
    return userDTO; // UserDTO 객체를 반환
}

UserDTO는 UserEntity에서 필요한 데이터만 클라이언트로 전송

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤