Não seria melhor utilizar uma factory, que retorna o resultado na formatação correta conforme o formato passado?
Percorrer uma cadeia de classes para saber o retorno me parece trabalho desnecessário neste caso.
Não seria melhor utilizar uma factory, que retorna o resultado na formatação correta conforme o formato passado?
Percorrer uma cadeia de classes para saber o retorno me parece trabalho desnecessário neste caso.
Oi Sérgio,
Poderíamos sim. Em termos de implementação, isso também funcionaria.
O problema é costumamos não deixar regras de negócio na fábrica. Ela costuma ser simples. Já uma classe que faz parte de um chain, geralmente contém alguma regra de negócio mais complexa para decidir se aquele filtro deve ser executado ou não.
Além disso, dependendo da sua implementação de chain, você pode ter mais de uma classe na cadeia que executa naquele momento.
Faz sentido?
Um abraço!
Olá Mauricio. Faz sentido sim.
Pensei na factory pois seria um acesso direto a implementação daquele formato, sem a necessidade de passar por toda uma cadeia para descobrir qual a classe que possui a regra de negócio daquele formato específico. A fábrica em si seria simples, ela delegaria para a implementação correta e essa sim teria a regra de negócio.
Realmente o chain faz mais sentido se eu tiver mais de uma classe que execute naquele momento.