결국 어쩔 수 없이 더 이상 SDK를 최신 버전으로 변경하지 않거나, 변경 사항을 코드 기반 전체에 반영해야만 하는 상황이 된다. 이는 번거롭고 비용이 많이 든다. 이를 해결하는 방법은 도메인의 관점에서 채팅 도구와의 통신을 표현하는 클래스를 만들고, 시스템에서 한 클래스가 도메인과 채팅 SDK 간 변환을 처리하는 것이다.
앞에서 언급한 두 가지 접근 방식이 약간 달라 보이지만, 결과적으로는 명확히 다른 영향을 미친다. 서드파티 라이브러리가 변경되더라도, 그 변경 사항을 변환 클래스에만 반영하면 된다.
결합을 완전히 피할 수는 없지만, 코드가 어떤 것에 결합될지 통제할 수는 있다. 과도한 간접 계층을 만들거나 불필요하게 복잡한 코드를 작성하지 않도록 주의하라. 때로는 서드파티 클래스가 반드시 필요한 것일 수 있다. 이런 결합은 받아들일 만하다. 결합이 얼마나 ‘나쁜’ 것인지 판단하는 것은 개발자의 몫이다.