Comumente é mais comum em projetos ver static factorys do que factory sendo instanciada e usada.
Existe um melhor cenário para usar uma e outra?
Comumente é mais comum em projetos ver static factorys do que factory sendo instanciada e usada.
Existe um melhor cenário para usar uma e outra?
É mais comum mesmo Felipe.
Eu sempre vou achar a Factory mais bonita. por nao ser um método estático, ela pode cair facilmente em uma AbstractFactory (sendo uma interface) e até ela voce pode receber injetada e deixar escondido que factory voce está usando.
Já uma chamada estática nao tem jeito: nao tem como mudar o comportamento daquilo sem editar diretamente. Eu deixaria os casos de static factory para os mais simples e óbvio. Por exemplo, Integer.valueOf não faria sentido ser uma factory abstrata (nao teria muita utilidade)