더북(TheBook)

새로운 클래스를 도입하면 몇 가지 이점이 있다. MessageSender에서 BotUserDirectoryMessageBot으로 대체함으로써 클라이언트 결합도가 낮아지고, Bot 인터페이스가 단순해진다. 단점은 코드에서 관리할 클래스가 하나 더 생긴다는 점이다.

이 ‘의존성 그룹화’ 전략을 UserPreferencesEmailSender에도 적용할 수 있다. EmailSenderUserPreferences에 의존해 사용자의 이메일 선호도를 확인하면 의존성 수를 하나 더 줄일 수 있다. 그림 4-4(변경 전)와 그림 4-5(변경 후)에 표현된 MessageSender의 의존성을 비교해보라.

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