wonslee / object-study

📔오브젝트 예제 코드를 따라 공부, 토론하는 스터디 그룹
0 stars 1 forks source link

9장 예시 코드 Movie의 의존성 #37

Open kmw2378 opened 8 months ago

kmw2378 commented 8 months ago

교재 p.286 예시 코드 관한 설명에서 "MovieDiscountPolicy에 대해서만 의존한다" 라고 나와있습니다! 저는 MovieDiscountPolicy 외에 Screening도 의존한다 생각했는데 calculateMovieFee() 메서드를 보니 Screening에게 메시지를 요청하진 않아 결론적으로 의존하지 않는다 로 받아들였습니다. 다른 분들은 어떻게 생각하실까요?

추가로 저는 import 문 포함여부와 의존성이 거의 같다 생각했는데 지금 상황처럼 직접적으로 협력을 요청하지 않으면 의존하지 않는다고 보는게 맞을까요?

Movie.java

public class Movie {
    ...
    private DiscountPolicy discountPolicy;

    public Movie(String title, Duration runningTime, Money fee, DiscountPolicy discountPolicy) {
        this.title = title;
        this.runningTime = runningTime;
        this.fee = fee;
        this.discountPolicy = discountPolicy;
    }

    public Money calculateMovieFee(Screening screening) {
        return fee.minus(discountPolicy.calculateDiscountAmount(screening));
    }
}
wonslee commented 8 months ago

저는 Screening에 대해 의존성이 있다고 생각합니다.

8장에서 나온 내용 중에서 '의존성 = 두 요소 사이의 관계 유무 ' 구절이 생각났어요.
저도 민우님과 똑같이 import문에 포함되어있다면 의존성이 있다고 생각해요.

아주 느슨한 결합도도 의존성이 있다고 보는게 맞다고 생각해요!
음.. 근데 기획이 큼직하게 바뀌는게 아니라면 영향 받지 않을테니까 정~말 낮은 결합도긴 한 것 같아요ㅋㅋ