본문

DTO vs Entity

도입

이번 포스팅에서는 DTO, Entity 개념에 대해 간단히 알아볼 예정이다.
정리하게된 계기는 레거시 코드 중에 dto라는 postfix가 붙은 클래스가 있었고 역할이 궁금해서 알아봤다.
해당 개념들은 Spring에서 나온 개념이다.

(ref - http://toby.epril.com/?p=99)


개념

1. DTO (Data transfer object)

계층간 데이터 교환을 위한 객체, 통신용도로 오고가는 객체
View를 위한 클래스, 그러므로 자주 변경이 필요한 클래스
toEntity()로 Entity로 변경 가능

2. Entity

실제 DB와 매칭될 클래스


Entity와 DTO를 분리하는 이유

분리하는 이유를 모르겠다. DTO에 로직도 추가되지않고 단순 Entity의 값의 setter, getter만 있다면 Entity로 해결할 수 있지 않나?

 

다른 블로그의 글을 확인해보니 아래와 같은 이점이 있다고 한다.

유지보수
명확한 역할 분리, Entity 변경사항에 따른 코드 변경 최소화

예를 들어, Entity가 domain과 view에 dependency가 있다면

  1. entitiy 변경될 때마다 양쪽에 영향

나중에 Spring을 하게된다면 그 때는 다시 공부해야겠다.

 

 

#dto #entity #이해안됨

'컴퓨터 > 이론: 개발' 카테고리의 다른 글

프로세스 VS 쓰레드  (0) 2020.07.14
Git Multi-branch 삭제  (0) 2020.05.06
Stored Procedure 개념  (0) 2020.03.11
Payload 개념  (0) 2020.03.09
E2EE 개념  (0) 2020.03.08

공유

댓글