더북(TheBook)

트위터 API가 실제로 어떻게 작동하는지 잘 알지는 못하지만, 새로운 트위터 API를 처음부터 다시 개발했다. 이것이 사용하기에 가장 좋은 API는 아닐 수 있다. 하지만 여러분 자신이 고객이기 때문에 여러분의 요구에 맞춰 설계하는 특권을 누릴 수 있다. 예를 들어 원본 API에서 어떻게 청크 단위로 데이터가 전송되는지 몰라도 되고, 좀 더 일반적인 API에서는 바람직하지 않을 수도 있는 실행 코드를 차단하고 기다리게 하더라도 신경 쓸 필요가 없다.

Note ≣

어댑터 역할을 하는 편리한 인터페이스를 갖는 이러한 접근법을 이 분야에서는 이미 어댑터 패턴이라고 부른다. 실제 유용성보다 용어를 강조하고 싶지는 않지만, 누군가 여러분에게 묻는다면 이제 답할 줄 알아야 한다.

우리가 정의한 클래스에서 인터페이스를 나중에 추출할 수 있으므로 구체적인 구현에 의존할 필요가 없고 테스트는 더 쉬워진다. 심지어 우리가 사용할 트위터 라이브러리가 그 구현을 쉽게 대체할 수 있도록 지원할지도 모른다. 가끔 여러분이 꿈꿔 온 설계가 실제 제품의 설계와 전혀 맞지 않는 경우를 만날 수도 있다. 이 경우 설계를 수정해야 하겠지만, 이는 설계가 기본 기술에 대한 이해임을 나타내는 좋은 신호다.

사실은 교훈을 주기 위해 약간의 거짓말을 첨가했다. 트위터 라이브러리를 처음부터 작성하지는 마라. 그렇다고 발명가의 사고방식에서 벗어나지도 마라. 이 두 가지는 함께 가야 하며, 둘 다 고수해야 한다.

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