Vale a pena ter uma static factory para gerar o encadeamento das respostas ou mesmo um Producer no caso do CDI?
public class FormatadorRespostasFactory {
public static Resposta newCadeiaFomatadoresResposta() {
Resposta respostaEmXml = new RespostaEmXML();
respostaEmXml.tendoComoProximoFormatoResposta(new RespostaEmCSV())
.tendoComoProximoFormatoResposta(new RespostaEmPorcentagem());
return respostaEmXml;
}
}
package br.com.schimidtsolutions.estudo.formato.web;
public class FormatadorRespostaContaBancaria {
public void formatarResposta(final Requisicao requisicao) {
Resposta formatadorResposta = FormatadorRespostasFactory.newCadeiaFomatadoresResposta();
ContaBancaria contaBancaria = new ContaBancaria("Dênis Schimidt", 200000);
formatadorResposta.responderRequisicao(requisicao, contaBancaria);
}
}