작성
·
261
·
수정됨
0
강의 수강 중 캡슐화 2번을 리팩토링 하는 과정에서 궁금한 점이 있습니다!
getFrequentRenterPoints()를 Movie에서 구현을 해주셨는데 daysRented를 파라미터로 넘겨서 RenterPoints를 계산하는 과정에서 대여기간 조건을 2일, 3일 이런식으로 변경점이 생겼을 때 Movie 클래스에서 변경하면 된다고 하셨는데 대여기간 조건 변경이 생겼는데 Movie에서 로직을 변경하는게 맞는가? 라는 의문점이 들었습니다.
저의 생각은 renterpoint를 계산할 때 Rental 클래스에서 기존의 방식처럼 구현하는게 나중에 변경점이 생겼을 때 더 쉽게 찾을 수 있지 않을까 생각합니다.
혹시 제가 놓치고 있는 부분이 있을까요??
답변 1
0
선택이긴 한데, 이 예에서는 Movie의 priceCode가 포인트 계산의 가장 큰 기준이 되니까 Rental 보다는 Movie에 위치하는 게 더 알맞다고 생각합니다. 영상에서 언급했듯이 마틴 파울러가 쓴 리팩토링 책의 예제를 차용한 것이니, 리팩토링 책을 읽어보시면 도움이 될겁니다.