接口与公共类成员

for*_*yez 3 language-agnostic oop design-patterns interface

我注意到一些程序员喜欢为他们所有的类创建接口.我喜欢某些事物的接口(例如检查对象是否支持某种行为,然后为该行为设置接口)但过度使用接口有时会使代码膨胀.当我将方法或属性声明为public时,我希望人们只使用我的具体类,我并不真正理解在此基础上创建接口的必要性.

我想听听你对界面的看法.你何时使用它们以及用于何种目的?

谢谢.

Jes*_*per 6

不假思索地应用任何类型的设计模式或想法,只是因为有人告诉你这是一个好习惯,这是一个坏主意.

当然包括为您创建的每个类创建一个单独的界面.你应该至少能够为每一个设计决定提供充分的理由,并且"因为乔说这是一个好的做法"并不是一个足够好的理由.

接口适用于将某些代码单元的接口与其实现分离.创建接口的一个原因是因为您预见到将来可能会有多个实现.它还可以帮助进行单元测试; 您可以对要测试的单元所依赖的服务进行模拟实现,并将模拟实现插入而不是"真实的"进行测试.