뚜껑뚜
Magnolia
뚜껑뚜
전체 방문자
오늘
어제
  • 분류 전체보기 (31)
    • 웹 개발 (2)
      • Java (0)
      • Spring Boot (0)
      • JPA (0)
      • JavaScript (1)
      • jQuery (1)
      • Mustache (0)
      • MyBatis (0)
    • DB (0)
    • CS (1)
      • HTTP (0)
      • etc (1)
    • 오류 로그 (19)
    • ETC (8)
    • 백엔드 로드맵 (0)
    • 개인 프로젝트 (1)
      • XYAB (1)
    • Diary (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 글쓰기
  • 관리

공지사항

인기 글

태그

  • post
  • HTTP
  • Servlet
  • URI
  • 헤더
  • 프로젝트
  • 타임리프
  • Thymeleaf
  • get
  • JPA
  • 컨트롤러
  • 서블릿
  • MVC
  • Security
  • 로그인
  • jquery
  • 자바스크립트
  • View
  • 어댑터
  • 인텔리제이

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
뚜껑뚜

Magnolia

ETC

DTO의 위치에 대해

2022. 2. 20. 16:46

프로젝트를 진행하다 DTO를 만드려고 하는데 어느 위치에 만들면 좋을지 고민됐다. 나는 정확한 답을 모르면 엄청나게 망설이기 때문에... 검색을 많이 했는데 김영한님의 어느 강의 질문이 검색에 걸렸다.

 

사실 DTO의 위치라는 것은 패키지 설계를 어떻게 가져가는가에 따라 완전히 달라집니다.

예를 들어서 도메인에 포함 될 수 도 있고, 아니면 별도의 dto 패키지를 만들어서 공용으로 사용할 수 도 있습니다.

어떤 경우는 repository 계층에 있을 수도 있고, service 계층에 있을 수도 있습니다.

저는 어느 한 곳을 딱 정하기 보다는, 여러 패키지에서 공유해야 하는 상황이면 별도의 dto 패키지를 만들어서 넣어둡니다.

만약 특정 서비스 계층까지만 사용되면, 해당 서비스 계층에 dto클래스를 함께 둡니다.

만약 특성 repository 까지 해당 dto가 사용되면 해당 repository 계층에 dto클래스를 함께 둡니다.

궁극적으로는 패키지 응집도와 결합도를 고민하면서 가급적 다른 패키지와 연관을 줄이도록 하는 방식이 좋은 방식입니다.

출처 : https://www.inflearn.com/questions/24222

 

어떤 사람이 DTO를 일반적으로 어디에 위치시키냐는 질문에 대한 답이었다. 현재의 나는 이게 어디에 사용될지 가늠이 잘 안 돼서... 일단은 패키지로 만들 거지만, 나중에 참고하기 좋을 것 같아서 글로 남겨둔다.

'ETC' 카테고리의 다른 글

MySQL 워크벤치에서 ERD 생성하기  (0) 2022.04.14
Entity, DAO, DTO  (0) 2022.03.15
양방향 의존 관계 오류  (0) 2022.02.28
경로에 관하여  (0) 2022.02.11
인텔리제이 단축키 모음  (0) 2021.12.16
    'ETC' 카테고리의 다른 글
    • Entity, DAO, DTO
    • 양방향 의존 관계 오류
    • 경로에 관하여
    • 인텔리제이 단축키 모음
    뚜껑뚜
    뚜껑뚜

    티스토리툴바