É aceitável que um método de fábrica retorne null?

Eu estou querendo saber sobre as melhores práticas aqui. É uma boa prática para um método de fábrica retornar null se não puder criar nada? Aqui está um exemplo:

ICommand command = CommandFactory.CreateCommand(args);
if (command != null)
    command.Execute();
else
    // do something else if there is no command

Uma alternativa seria retornar umNullCommand ou algo assim, eu acho, mas qual é a melhor prática?

questionAnswers(4)

yourAnswerToTheQuestion