인프런 커뮤니티 질문&답변

ycllyo님의 프로필 이미지

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

Dto와 공통되는 클래스가 있을 때

해결된 질문

작성

·

106

0

안녕하세요 Dto클래스가 있을 때, 다른 곳에서도 그와 동일한 스펙의 클래스가 필요하다면 재사용을 해도 되는지, 아니라면 각각 구현해야 하는지 궁금합니다.
예를 들어 컨트롤러에서 요청을 통해, Coordinate(위도와 경도를 필드로 갖는)라는 타입으로 좌표를 받아서 사용하는데, 다른 패키지에서도 동일한 스펙을 갖는 클래스가 필요하다면 Coordinate를 재사용해도 되는 걸까요? 아니면 CoordinateForXXXXDto와 같이 동일한 스펙의 클래스를 이름만 다르게 구현하여 사용해야 할까요?

 

  • web

    • dto

      • request

        • CoordinateDto

           

Dto로만 사용되면 위와 비슷한 구조를 가지면 된다고 생각하는데, 만약 재사용이 가능하여 Dto의 역할(계층간의 데이터 전송)이 아닌, 오로지 하나의 클래스 안에서만 사용되는 경우도 포함돼 있다면 어떤 패키지에 놓아야 할지도 궁금합니다!

public class CoordinateDto {
    private double latitude;
    private double longitude;
}

답변 1

2

안녕하세요. ycllyo님, 공식 서포터즈 David입니다.

  1. 특별한 문제가 없다면 재사용하시면 됩니다

  2. 외부에서 사용될 일이 없다면 내부 클래스로 만들어 사용하시는 방법도 있습니다.

감사합니다.

ycllyo님의 프로필 이미지
ycllyo
질문자

답변 감사드립니다!

제가 드린 마지막 질문의 답도 궁금한데, 재사용을 하여 여러 곳에서 사용된다고 했을 때, (특히 계층간의 데이터 전송에도 사용되고 아닌 경우에도 사용된다면) 그 클래스의 위치는 어디에 두는 게 적절한 건가요?

저는, 의존이 단방향으로 흐른다는 가정 하에 A->B->C 흐름으로 의존하고 있고 A, B에서 모두 쓰이고 있다면 B에 둡니다.

ycllyo님의 프로필 이미지
ycllyo
질문자

답변 감사합니다!

ycllyo님의 프로필 이미지

작성한 질문수

질문하기