목록DTO (2)
송민준의 개발노트
공부할 때나 실무에서나 개발을 하다보면 정신없게 늘어만 가는 DTO를 보고 어떻게 줄일 수 없을까라는 생각을 하게 된다. 너무 많아져 IDE의 도움 없이는 찾지도 못할 수준이 되는 프로젝트도 있다. 그래서 이번 기회에 DTO에 관한 부분을 고민하고 개선해보기로 했다. 우선 내가 생각하기에 충족되어야 할 조건들은... 아래와 같았다. 1. 패키지 구조에서 보다 간단하게 2. API에 필요한 데이터들만 뽑아낼 DTO 3. Swagger에 명시가 가능하게 4. 필요에 따라 페이징도 적용 가능하게 이것저것 찾아보고 고민해본 결과 inner class 패턴이 보기에 좋고 관리하기도 좋아보였다. Account(계정)을 예로 남겨보겠다. swagger 및 valid 관련 코드는 가독성을 위해 제거했으니 필요하다면 추..
본 글은 우아한Tech 유튜브 채널을 본 것을 기반으로 정리한 글입니다. https://www.youtube.com/watch?v=EeJnNaiMy3U DTO와 VO란 어떻게 다를까?? 우선 DTO(Data Transfer Object)는 레이어 간에 데이터를 전달하는 객체이다. (ex. 시험칠 때 OMR카드) 특징으로는 - 데이터 접근 메서드 외에 기능을 가지지 않음. (정렬, 직렬화 등 데이터 표현을 위한 기능을 가질 수는 있음) - 데이터의 캡슐화를 통해 유연한 대응이 가능함 (데이터 요청 수 감소 효과) VO(Value Object)는 값을 가지는 객체이다. 특징으로는 - 값 자체로 의미를 가지는 객체 - 변하지 않는 값을 가지는 객체(값이 변하지 않음을 보장하여 고도의 안정성과 생산성을 높임) ..