現在、次のように Factory クラスを使用して特定の機能を実装しています。
public class TemplateFactory {
Template template = null;
public static Template createTemplate(Message message){
if(Message.getMessageId() == Message.WELCOME_MESSAGE) {
template = new WelcomeTemplate(message);
} else if (Message.getMessageId == Message.RESET_PASSWORD){
template = new ResetPasswordTemplate(message);
}
return template;
}
}
public class TemplateClient {
public static void Main(String[] args){
Message message = new Message(args[0]);
Template template = TemplateFactory.createTemplate(message);
template.doSomething();
}
}
実行時にバインディングが動的に決定されることを考慮して、Google Guice でこれをどのように実装しますか?