더북(TheBook)

의존성을 관리하지 못하면 통제력을 잃어버리기 쉽다. 예를 들어 한 클래스가 어떤 의존성의 세부 사항에 의존하도록 만들었다고 가정하자. 이 경우 의존성에 어떤 변화가 생겨도 코드 기반 전반에 걸쳐 연쇄적인 변경이 발생하면서, 시스템 복잡성이 증가하고 장기적으로 유지보수가 어려워진다. 또 다른 예로 한 클래스가 너무 많은 클래스에 의존한다고 가정하자. 다른 클래스와의 수많은 상호작용에서 비롯된 코드 복잡성을 제외하고도, 그 클래스들 중 너무 많은 수가 변경되어 우리 클래스에 영향을 줄 수 있다. 이런 상황은 원하지 않는다.

의존성 관리는 케이크의 층을 쌓는 것과 같다. 잘못하면 케이크가 무너진다. 이 장에서는 의존성을 효과적으로 관리하는 데 도움이 되는 패턴에 대해 설명하겠다.

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