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

suhani93님의 프로필 이미지
suhani93

작성한 질문수

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

상품 등록

상품 등록시에 데이터 받는 로직

작성

·

222

0

안녕하세요
따로 공부하다가 궁금한 점이 생겨서 질문 남깁니다.

item에서 InheritanceType.JOINED 를 사용하게 되면 화면에서 컨트롤러로 Form data를 받아와서 처리하는 로직은 어떤식으로 구현을 하는게 효과적인가요? 

예를들면 
formData에 타입을 넣어줘서 if else문으로 각각에 맞는 


Controller(formData){
if(formData.getType equals "B")

persist( new B(formData.a formData.b , formData.c))

else if ("A") 

persist( new A(formData.dd formData.gg )

else if ~~~~

}

이런식으로 전부 빼야 하나요??

만약 위와 같은 상황이라면 타입이 엄청나게 많아지는 경우 무한if else을 쓰기는 좀 비효율적인 코드가 될 거 같아서 질문드립니다.

답변 2

2

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. suhani93님

요구사항과 상황에 따라서 조금씩 다르겠지만, 책이나 앨범처럼 다른 상품을 등록할 때는 비슷하지만 다른 UI를 사용할 가능성이 높습니다. 다른 검증코드도 사용하구요.

이런경우 컨트롤러 메서드와 view 자체를 a,b,c 각각 전용으로 분리하는게 더 나은 선택일 확율이 높습니다. 폼도 각각에 맞도록 분리하구요.

도움이 되셨길 바래요.

1

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

도움이 많이 된거 같습니다. 답변 감사합니다!

suhani93님의 프로필 이미지
suhani93

작성한 질문수

질문하기