olá, sobre criação de objetos sempre caio em uma dúvida.
Por exemplo Esses dias eu tive que fazer um código que deveria fazer várias validações. Só que esse conjunto de validações variava de acordo com o cliente. Por exemplo, se fosse pro banco do brasil, eram as validações X Y Z; se fosse bradesco, seriam A B C...etc ou seja, cada banco tem a sua validação. Eu não queria simplesmente fazer uma classe pra cada um e aí fazer em outra classe um monte de if pra saber qual era o banco e então pegar uma instância do validador dele. Entao o que fiz foi: Criei uma interface IValidador e fiz as implementações de cada banco. Na classe que ia chamar a validação, usei reflection: coloquei num arquivo properties caminho(pacote) de cada validador, então eu pego o nome (ou código) do banco e por ele eu vou no properties, faço a reflection pro validador que quero e então ele segue a vida no "validador.validar", sendo que esse métood validar está na interface, então ficou algo transparente. A solução em si funciona, mas não me agradou muito. Eu fugi do problema de ter que ficar criando vários ifs, por outro lado não sei se é legal também ir pro properties e reflection, pois da a sensação que apenas troquei o problema de lugar... e outra coisa é que usando reflection, eu tenho que instanciar o objeto na mão, e aí eu perdi a injeção de dependência tanto desse objeto quanto dos outros que estão dentro do validador
então a questão que não entendo muito bem eh essa..qual a solução pra criaçao dinamica dos objetos? ok, tem os desing patterns e tudo mais, mas eles resolvem quando quem chama eles, ja sabe qual precisa no meu caso, por exemplo, se eu nao fosse fazer como fiz, eu teria que ter um monte de if na classe que chama os validadores, entao só teria trocado o problema de lugar, também..