Czy w porządku jest, aby metoda fabryczna zwracała wartość null?

Zastanawiam się nad najlepszymi praktykami tutaj. Czy dobrą praktyką jest, aby metoda fabryczna zwracała wartość null, jeśli nie może niczego utworzyć? Oto przykład:

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

Alternatywą byłoby zwrócenie aNullCommand czy coś, jak sądzę, ale jaka jest najlepsza praktyka?

questionAnswers(4)

yourAnswerToTheQuestion