Jef*_*att 26 c# oop design-patterns factory-method
我想知道这里的最佳做法.如果工厂方法无法创建任何内容,那么返回null是一种好习惯吗?这是一个例子:
ICommand command = CommandFactory.CreateCommand(args);
if (command != null)
command.Execute();
else
// do something else if there is no command
Run Code Online (Sandbox Code Playgroud)
NullCommand我想,另一种方法是返回一个或某个东西,但最佳做法是什么?
Jon*_*eet 31
我认为工厂方法在某些情况下返回null是合理的,但如果它是一个被调用的方法则不行CreateCommand.如果它是GetCommand或者FetchCommand,那可能没问题...但是一个Create方法应该在失败时抛出异常,我建议.
当然,你是否真的希望它null在这种情况下回归取决于更大的图景.(例如,您是否可以返回合理的空对象实现?)