작성
·
119
·
수정됨
0
DTO -> 엔티티, 엔티티 -> DTO 과정에서의 빌더 패턴과 정적 팩토리 사용에 대해 아래와 같이 정리를 했는데 제가 정리한 방식이 타당한 방식인지 궁금합니다.
DTO -> 엔티티
엔티티의 생성자에 빌더 패턴을 적용합니다.
외부에서 엔티티를 생성하려면 빌더 패턴을 사용하여 엔티티를 생성합니다. 예를들어 서비스 레이어에서 엔티티의 빌더 패턴을 사용하여 DTO를 엔티티로 변환하는 작업을 가집니다.
엔티티쪽에서 DTO를 엔티티로 변환하는 정적 팩토리 메서드를 가지지 않는 이유 변화가 심한 DTO에 엔티티가 의존하는 것은 좋지 않다고 생각했습니다. 그래서 객체 생성에 빌더 패턴만 적용했습니다.
엔티티 -> DTO
DTO쪽에서 생성자에 빌더 패턴을 적용합니다.
또한 엔티티 -> DTO로 변환하는 정적 팩토리 메서드를 만드는데 이때 DTO 객체 생성은 DTO쪽에서 정의한 빌더 패턴을 적용합니다.
DTO는 엔티티에 의존해도 아무 문제가 없다고 생각합니다. 그래서 빌더 패턴도 사용하고 정적 팩토리 메서드도 사용하여 DTO 객체를 생성했습니다.
이 둘을 같이 사용할 경우 빌더 패턴과 정적 팩토리 메서드 장점 모두 사용할 수 있다고 생각하여 2가지 모두 사용하여 DTO 객체를 생성하도록 했습니다.
답변 2
0
안녕하세요, 감바스 님!
네, 잘 정리해 주셨네요 ㅎㅎ
빌더 패턴 같은 편의 기능을 다 떠나서, 엔티티가 DTO에 의존하지 않게끔 하는 것이 가장 중요하다는 점 기억해주시면 좋을 것 같습니다.
감사합니다 🙂
0
안녕하세요, 인프런 AI 인턴입니다.
감바스님이 정리하신 방식에 대해 검토해보겠습니다.
DTO -> 엔티티 변환:
엔티티 -> DTO 변환:
감바스님께서 적용하신 방안은 빌더 패턴과 정적 팩토리 메서드의 장점을 잘 살리면서 엔티티와 DTO의 의존성을 적절히 관리한 좋은 전략이라고 생각됩니다. 계속해서 프로젝트에 따라 최적의 방법을 선택하며 사용해나가시면 좋은 결과가 있을 것입니다.
추가적으로, 해당 주제에 관해서 더 많은 정보를 원하시면, Spring Boot Reference Documentation을 참고하실 수 있습니다.