해결된 질문
작성
·
223
0
안녕하세요.
스프링 MVC 2편의 섹션5 : Form 전송 객체 분리 개발 강의에서 5:45 쯤에
강사님께서 "setter 보단 생성자를 사용하는 것이 더 낫다"고 말씀하셨습니다.
따라서 위 코드를
Item item = new Item(form);
처럼 생성자를 통해서 사용할 수 있도록 Item 클래스에 ItemSaveForm을 파라미터로 갖는 생성자를 만들면 되겠구나 라고 생각했습니다.
하지만 강의를 듣다보니 섹션 6 : 프로젝트 생성 강의에서
강사님께서 도메인이 가장 중요하므로 도메인이 다른 패키지, 클래스에 의존하는 설계는 좋지 않다고 말씀하셨습니다.
따라서 제가 생각했던
Item item = new Item(form);
위 코드는 Item 도메인 객체가 ItemSaveForm에 의존하고 있으므로 좋은 코드는 아니라는 생각이 들었습니다.
그렇다면 어떻게 생성자를 이용하여 ItemSaveForm를 Item 객체로 변환할 수 있을까요?
** 추가
Item item = form.transToItem();
처럼 ItemSaveForm 내부에서 Item 객체로 변환하는 메서드를 작성하는 것은
데이터를 전달만 하는 용도로 사용되는 객체의 역할에 벗어나는 것일까요?