더북(TheBook)

1.2.3 적절한 의존성 관리

대규모 객체지향 시스템에서는 의존성 관리가 유지보수에 매우 중요하다. 결합도가 높고, 어떤 클래스가 다른 클래스와 결합되어 있는지 아무도 신경 쓰지 않는 시스템에서는 간단한 변경이 예기치 못한 결과를 초래할 수 있다.

그림 1-4는 Basket 클래스가 의존하고 있는 DiscountRules, Product, Customer의 변경으로 어떤 영향을 받을 수 있는지 보여준다. 심지어 추이적(transitive) 의존성인 DiscountRepository의 변경도 Basket에 영향을 미칠 수 있다. 예를 들어 Product 클래스가 자주 변경된다면 Basket도 항상 변경될 위험에 놓이게 된다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.