더북(TheBook)

종속성은 왜 문제가 될까? 종속성을 추가하는 것을 고려할 때, 모든 구성 요소를 다른 고객으로 간주하거나 모든 계층을 요구 사항이 서로 다른 시장 집단이라고 생각해 보자. 여러 시장의 고객에게 서비스를 제공하는 것은 단일 시장의 고객에게 서비스를 제공하는 것보다 더 큰 책임이 따른다. 고객의 요구 사항이 각자 다르기 때문에 다양한 요구 사항을 충족해야 한다. 종속성 체인(dependency chains)을 결정할 때 이러한 관계를 생각해 보자. 이상적으로는 가능한 한 적은 유형의 고객에게 서비스를 제공하도록 노력해야 한다. 이것은 구성 요소 또는 전체 계층을 최대한 단순하게 유지하기 위한 중요한 요소다.

우리는 종속성을 피할 수 없으며, 코드를 재사용하려면 종속성은 필수적이다. 코드 재사용은 두 가지 조항으로 이뤄진 계약이다. 구성 요소 A가 구성 요소 B에 의존적이라고 할 때 첫 번째 조항은 ‘B가 A에게 서비스를 제공할 것’이다. 흔히 간과하는 두 번째 조항은 ‘B를 변경할 때마다 A를 유지보수해야 한다’이다. 종속성 체인을 잘 구분하여 관리한다면 코드 재사용으로 인한 종속성은 문제가 없다.

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