gpt4 book ai didi

java - (编程到接口(interface) v/s 使用具体类)当只有一个具体类时

转载 作者:搜寻专家 更新时间:2023-10-31 08:08:08 26 4
gpt4 key购买 nike

在 OO 组件中,当您只有一个可用于某个类的实现并且该类未“发布”到其他组件时,仍然建议使用接口(interface)并使用该接口(interface)吗?

我完全了解“针对接口(interface)编程”的设计原则,并广泛使用它。

最近,我一直在观察,大多数时候都不需要不同的实现(尽管可能并且有意义)。由于始终使用接口(interface),应用程序代码将有相当多的接口(interface),每个接口(interface)只有一个实现,接口(interface)似乎是一种开销。

相反,仅在需要第二个实现时才使用具体类并引入接口(interface)是否更可取?不管怎样,如今使用 IDE 提取接口(interface)是轻而易举的事。当引入新接口(interface)时,可以更改对旧具体类的引用以使用新接口(interface)。

你怎么看?

最佳答案

即使只有一个实现,我仍然继续针对接口(interface)编程的一个原因是因为它使我编写测试很多更容易。我可以设置代理来测试任何我想测试的东西,而且我不必担心紧密耦合。

这并不总是可取的,但在您尝试做出决定时值得考虑。你认为你需要围绕这个类/对象进行广泛的测试吗?如果您认为可以,那么处理接口(interface)比处理具体类要容易得多。

替代方案是不使用接口(interface)并子类化具体类,这也有效,但同样取决于情况。

关于java - (编程到接口(interface) v/s 使用具体类)当只有一个具体类时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1394915/

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