gpt4 book ai didi

c# - 工厂方法可以返回 null 吗?

转载 作者:IT王子 更新时间:2023-10-29 04:19:06 26 4
gpt4 key购买 nike

我想知道这里的最佳实践。如果工厂方法不能创建任何东西,返回 null 是一种好习惯吗?这是一个例子:

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

另一种方法是返回一个 NullCommand 或其他东西,我想,但什么是最佳实践?

最佳答案

我认为在某些情况下工厂方法返回 null 可能是合理的,但不是如果它是一个名为 CreateCommand 的方法。如果它是 GetCommandFetchCommand,那可能没问题……但是我建议,Create 方法应该在失败时抛出异常。

当然,您是否真的希望它在这种情况下返回null 取决于大局。 (例如,您是否可以返回一个合理的空对象实现?)

关于c# - 工厂方法可以返回 null 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11124562/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com