더북(TheBook)
    this.emailSender = emailSender;
    this.userPrefs = userPrefs;
  }
  public void sendMessages() {
    List<Message> messagesToBeSent = repository.getMessagesToBeSent();
    for(Message messageToBeSent : messagesToBeSent) {
      String userId = userDirectory.getAccount(messageToBeSent.getEmail());
      bot.sendPrivateMessage(userId, messageToBeSent.getBodyInMarkdown());
      if(userPrefs.sendViaEmail(messageToBeSent.getEmail())) {  <--- 두 가지 새 의존성을 사용해 메시지 복사본을 사용자에게 이메일로 보낼지 결정한다.  
        emailSender.sendMessage(messageToBeSent);
      }
      // 메시지를 보낸 것으로 표시한다.
      messageToBeSent.markAsSent();
    }
  }
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.