inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Tái cấu trúc đã học thông qua mã hóa

Tái cấu trúc 9. Truyền toàn bộ đối tượng

파라미터와 이들을 가진 클래스

237

yoonjoy

42 câu hỏi đã được viết

0

안녕하세요 기선님! 강의 항상 잘 듣고 있습니다. 오늘 궁금한 점은 파라미터 수를 줄이기 위해 해당 파라미터를 갖고 있는 다른 클래스를 의존해도 되는가 입니다

제가 작성한 코드 중 A  메소드에서 여러개의 파라미터를 받는데, 그 파라미터들이 한 엔티티 클래스의 필드들입니다. 그리고 이 A 메소드에서 사용되는 파라미터들이 또 다른 메소드들에서도 공통적으로 사용되고 있는 상황입니다.

그래서 저는 이 공통적으로 사용되는 파라미터를 가진 DTO 클래스를 만든 후 이 클래스에 해당 엔티티를 받는 팩토리 메소드를 만들어서 A를 비롯한 여러 메소드의 파라미터를 DTO 하나로 줄이는 리팩토링을 진행했습니다.

하지만 해당 엔티티 클래스는 필드가 10개가 넘고, 고작 이 엔티티의 필드 몇개를 사용하기 위해 의존하는 것은 다소 무거운 게 아닌가라는 고민이 생기는데, 기선님의 시각은 어떠한지 궁금합니다!

 

 

refactoring java intellij

Câu trả lời 1

0

whiteship

해당 엔티티를 직접 참조하지 않고 DTO를 만들어서 참조하게 한 이유는 무엇인가요?

0

yoonjoy

해당 엔티티가 JPA 엔티티이고 이 엔티티를 수정할 일이 없어서 엔티티를 직접 참조하는 것 보다 필요한 값만 래핑한 dto를 넘겨주는게 좋겠다라는 판단을 하게 되었습니다!

1

whiteship

그렇군요. 해당 DTO를 불변 객체로 데이터 참조용으로만 만들어서 제공한다면 변경될 수 있는 엔티티를 넘기는것보다 안전하고 명시적이겠네요. 좋은 선택인것 같습니다.

리팩토링 10. 함수를 명령으로 바꾸기 강의 부분에서 질문있습니다.

0

94

1

함수 추출하기 부분에서 의도와 구현에 대해 질문 있습니다.

0

202

1

레코드에 대해 질문 있습니다.

0

219

2

.github 토큰 등록하는 방법에 대한 질문

0

220

2

깃허브

0

202

1

홈 디렉토리 .github 파일 생성

0

456

1

리팩토링 22. 여러 함수를 변환 함수로 묶기 강의 내용과 소스 코드가 다른 부분 문의

0

554

1

필드를 감추는 것이 중요한 이유?

0

568

1

오타제보. CVS -> CSV

0

375

0

객체의 필드 몇개만 전달할 경우, 통째로 넘기기 vs 여러개로 넘기기

0

510

0

[오탈자제보] 아주 작은 오타

2

401

0

basePrice

0

294

1

4:04 단축키 궁금합니다.

0

435

1

rename 메뉴에 대한 사소한 질문

0

356

1

테스트 코드 예제

0

308

1

Exception 부분

0

338

1

리팩토링 강의 [ 일부 소스 파일 누락 ]

0

331

1

stream으로 변경 시 성능 문제

0

437

2

로컬 변수에 final

0

458

1

Area 밑줄 나온부분

0

404

1

클래스의 상속 vs 네임스페이스 vs nested 클래스

0

322

1

이런 경우도 따로 함수로 빼는게 좋을지 궁금합니다.

0

279

1

질문입니다

2

265

1

해당 강의를 실행시 아래와 같은 에러가 발생합니다..!

0

598

2