Меня интересует лучшая практика. Является ли хорошей практикой, чтобы фабричный метод возвращал значение null, если он не может ничего создать? Вот пример:
ICommand command = CommandFactory.CreateCommand(args);
if (command != null)
command.Execute();
else
// do something else if there is no command
Альтернативным вариантом было бы вернуть NullCommand
или что-то в этом роде, я думаю, но как лучше всего?