在OO组件中,当一个类只有一个实现可用且该类未“发布”到其他组件时,是否仍然建议有一个接口(interface)并改为使用该接口(interface)?
我完全了解“编程到接口(interface)”的设计原理,并且也广泛使用它。
最近,我一直观察到,大多数时候都不需要使用其他实现(尽管可能并且很有意义)。由于始终使用接口(interface),因此应用程序代码将具有相当数量的接口(interface),每个接口(interface)只有一个实现,并且该接口(interface)似乎有些开销。
相反,仅在需要第二种实现时才使用具体类并引入接口(interface)是可取的吗?无论如何,如今使用IDE提取接口(interface)是一件轻而易举的事情。当引入新接口(interface)时,可以将对旧具体类的引用更改为使用新接口(interface)。
你怎么看?
最佳答案
据我所知,在三种情况下接口(interface)是合理的:
不要害怕使用具体的类。
不要机械地为每个类生成一个接口(interface)。