Construtores vs métodos de fábrica [fechado]

Quando modelar classes, qual é a maneira preferida de inicializar:

Construtores ou Métodos de Fábrica

E quais seriam as considerações para usar qualquer um dele

Em certas situações, prefiro ter um método de fábrica que retorne nulo se o objeto não puder ser construído. Isso torna o código limpo. Posso simplesmente verificar se o valor retornado não é nulo antes de executar uma ação alternativa, em contraste com a exceção de um construtor. (Eu pessoalmente não gosto de exceções)

Diga, eu tenho um construtor em uma classe que espera um valor de identificação. O construtor usa esse valor para preencher a classe do banco de dados. No caso em que não existe um registro com o ID especificado, o construtor lança um RecordNotFoundException. Nesse caso, terei de incluir a construção de todas essas classes dentro de um bloco try..catc

Em contraste com isso, posso ter um método de fábrica estático nessas classes que retornará nulo se o registro não for encontrad

Qual abordagem é melhor nesse caso, construtor ou método de fábric

questionAnswers(10)

yourAnswerToTheQuestion