코드 4-2 SDKBot 구현
class SDKBot implements Bot {
public void sendPrivateMessage(String userId, String msg) {
var chatBot = new ChatBotV1(); <--- SDK의 챗봇 클래스를 인스턴스화한다.
var message = new BotMessage(userId, msg); <--- BotMessage를 합성한다. 이 클래스는 SDK의 일부분이다.
chatBot.writeMessage(message); <--- SDK가 제공하는 writeMessage() 메서드를 통해 봇에게 메시지를 전송한다.
}
}
어떤 상황에서든 BotMessage의 인스턴스를 코드의 다른 부분으로 반환해서는 안 된다. 이런 식으로 나머지 코드 기반이 SDK 라이브러리와 완전히 분리되며, 향후 구현을 변경할 수 있는 여지가 생긴다.