gpt4 book ai didi

java - 任何不良使用界面的例子?

转载 作者:行者123 更新时间:2023-11-29 04:43:06 25 4
gpt4 key购买 nike

我想避免在不需要时使用界面。例如,有一个接口(interface)AAA,有一个类AAAImpl实现它,这个接口(interface)AAA只被实现AAAImpl,而AAAImpl只实现了一个接口(interface),就是这个AAA。这样做的理由是代码是解耦的,单元测试会更容易,它为将来添加更多功能留下了更多选择,等等。

这些论据有效吗?

最佳答案

一个类实现一个接口(interface)是设计类库的完全有效的策略,只要您的类的用户不能直接访问实现类。这是最好的信息隐藏:用户可以看到他们需要看到的内容,而与让用户直接访问实现类相比,您可以通过更多方式重新设计您的实现。

这还使您的用户可以灵活地测试他们的代码,而无需依赖接口(interface)定义之外的任何代码。

总的来说,这是一个没有缺点的双赢局面。

就接口(interface)的不良使用而言,有多种可能性:

  • 试图做太多事情的接口(interface) - 添加一个接口(interface)来涵盖执行许多不同任务的类的每个方法是一个坏主意,“基础结构接口(interface)”除外,例如定义远程处理所需的接口(interface)。
  • 尝试做的事情太少的接口(interface) - 这样的接口(interface)只覆盖了类的一小部分功能,在不引用实现类的情况下无法执行有意义的任务。
  • 接口(interface)与类的功能匹配不佳 - 例如,添加 IComparable<T>IEquitable<T>到可变类。

关于java - 任何不良使用界面的例子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38360793/

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