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

我完全了解“编程到接口(interface)”的设计原理,并且也广泛使用它。

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

相反,仅在需要第二种实现时才使用具体类并引入接口(interface)是可取的吗?无论如何,如今使用IDE提取接口(interface)是一件轻而易举的事情。当引入新接口(interface)时,可以将对旧具体类的引用更改为使用新接口(interface)。

你怎么看?

最佳答案

据我所知,在三种情况下接口(interface)是合理的:

  • 这是体系结构的一部分(我承认这一定义不是很好)。
  • 您有多个实现。
  • 这是一个公共(public)接口(interface)。

  • 不要害怕使用具体的类。
    不要机械地为每个类生成一个接口(interface)。

    09-16 03:29