더북(TheBook)

4.3 너무 많은 클래스에 의존하는 클래스를 분리하라

너무 많은 의존성을 가지는 클래스를 분리하면 잠재적인 변경의 범위를 제한할 수 있다. 이 패턴은 코드 유지보수성과 유연성을 향상시키며 변경되는 시스템 요구 사항에 시스템이 더 잘 적응하게 해준다.

코드 단위는 모든 차원에서 작아야 하며, 여기에는 의존성도 포함된다. 만약 한 클래스가 10개의 다른 클래스에 의존한다면, 이 현상은 디자인에 문제가 있음을 나타내며 향후 유지보수 문제를 초래할 가능성이 있다.

기능이 복잡해지면 의존성 수가 증가한다. 기존 기능에 새로운 기능을 추가할 때 선택할 수 있는 방법이 두 가지 있다(그림 4-3 참조). 하나는 현재의 코드 단위를 확장하는 것으로, 의존성을 추가하지는 않지만 2장에서 언급한 것처럼 복잡성이 증가한다. 다른 하나는 새로운 클래스를 생성해 기존 클래스와 연결하는 것으로, 원래 기능의 복잡성을 증가시키지는 않지만 결합도가 높아진다.

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