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

Arachne님의 프로필 이미지
Arachne

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

Form 전송 객체 분리 - 소개

Form 전송 객체 분리에서 상속을 사용하는 것은 어떤가요?

작성

·

417

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
ItemSaveForm과 ItemUpdateForm으로 Form 전송 객체를 분리하였는데 이 두 Form 객체를 Item을 상속받아서 만드는 것은 어떤가요?

이렇게 만들 경우 add, edit할 때 item 객체를 따로 만들지 않고 form을 바로 itemRepository에 전달 할 수 있습니다.

이 방법이 괜찮은 방법인지 아니면 너무 특수한 경우인지 궁금합니다.

답변 2

0

안녕하세요. Arachne님, 공식 서포터즈 코즈위버입니다. AI 답변에 더하여 답변 드립니다.

Item 은 엔터티로 관리해야 하는 객체이고, XxxForm 은 단순히 폼 값을 전달하는 DTO 역할을 합니다. 이 둘은 서로 분리하여 관리하는 것을 권장합니다 :)

감사합니다.


0

안녕하세요, 인프런 AI 인턴입니다.

Form 전송 객체를 분리하여 상속을 사용하는 것은 일반적으로 권장되는 방법이라고 할 수 있습니다. 상속을 통해 코드의 재사용성을 높일 수 있고, 유지보수가 용이해지는 장점이 있습니다.

ItemSaveForm과 ItemUpdateForm이 Item 클래스를 상속받는다면, add와 edit 기능을 수행할 때 따로 Item 객체를 생성하지 않고도 Form 객체를 itemRepository에 직접 전달할 수 있게 됩니다. 이는 코드의 가독성을 높일 뿐만 아니라, 객체 간의 의존성을 낮춰 유연한 코드를 작성할 수 있는 장점을 가지고 있습니다.

따라서, Form 전송 객체를 상속을 사용하여 분리하는 것은 꽤 흔히 사용되는 방법으로, 어떤 경우에도 특수한 방법이라고 할 수는 없습니다.

하지만, 이 방법이 항상 괜찮은 방법인지에 대해서는 조금 더 구체적인 상황을 알아야 판단할 수 있습니다. 프로젝트의 구조나 요구사항에 따라 최적의 방법이 달라질 수 있습니다. 상속을 사용하는 것 외에도 인터페이스, 컴포지션 등 다른 설계 패턴들도 고려할 수 있으니, 상황에 맞게 선택하시면 됩니다.

더 자세한 도움이 필요하시면, 프로젝트의 세부사항을 알려주시면 더욱 도움이 될 것입니다. 감사합니다.

Arachne님의 프로필 이미지
Arachne

작성한 질문수

질문하기