새로운 클래스를 도입하면 몇 가지 이점이 있다. MessageSender에서 Bot과 UserDirectory를 MessageBot으로 대체함으로써 클라이언트 결합도가 낮아지고, Bot 인터페이스가 단순해진다. 단점은 코드에서 관리할 클래스가 하나 더 생긴다는 점이다.
이 ‘의존성 그룹화’ 전략을 UserPreferences와 EmailSender에도 적용할 수 있다. EmailSender가 UserPreferences에 의존해 사용자의 이메일 선호도를 확인하면 의존성 수를 하나 더 줄일 수 있다. 그림 4-4(변경 전)와 그림 4-5(변경 후)에 표현된 MessageSender의 의존성을 비교해보라.