gpt4 book ai didi

java - 常见的If代码else代码java编程实践

转载 作者:行者123 更新时间:2023-12-02 02:18:39 25 4
gpt4 key购买 nike

我在很多地方重复了以下代码。我想知道Java中是否有任何常见的做法通过使用接口(interface)/功能接口(interface)/抽象类来定义这种重复的代码。 if 的内部逻辑不同,但 if else 和 log 的逻辑都是相同的。

Optional<ABC> factory = factoryResolver.resolve(XYZ);
if (factory.isPresent()) {
// Logic varies here
return X;
} else {
LOGGER.error("Some logs");
}
return Y;

最佳答案

您所做的本质上与使用 null 没有什么不同检查,但方式更加不透明和冗长。

更面向对象的解决方案是利用多态性。而不是返回 Optional<ABC> ,返回ABC直接地。如果没有ABC可以解决 XYZ ,您可以返回 UnresolvedABC实现 ABC 的类以有意义的方式接口(interface)(例如抛出异常或记录错误)。

有关更多详细信息,请参阅 Null Design Pattern (维基百科)

关于java - 常见的If代码else代码java编程实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48882082/

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