即使我只有一个实现,我还应该编码到接口吗?

non*_*tor 11 implementation interface

我认为标题本身就说明了 - 为什么我应该编写一个接口,然后实现一个具体的类,如果只有一个具体的实现该接口?

Len*_*ert 36

我想你不应该;)

没有必要用相应的接口遮蔽所有类.

即使您稍后要进行更多实现,也可以在必要时始终提取接口.

  • 如果可以的话,+ 100,在任何地方创建未使用的接口都会适得其反.当(如果)你需要它时,重构和提取一个是微不足道的. (3认同)
  • 有一个EasyMock类扩展库,可以让你模拟具体的类http://easymock.org/Downloads.html (2认同)

Tho*_*ung 13

这是一个粒度问题.您不能使用不必要的接口使代码混乱,但它们在层之间的边界处很有用.

有一天,您可能会尝试测试依赖于此接口的类.那么你可以嘲笑它很好.

我一直在创建和删除接口.有些人不值得努力,有些人真的需要.我的直觉大多是正确的,但有些重构是必要的.


Jim*_*meh 5

问题是,如果只有一个具体的实现,是否应该有一个接口?

  • 正确,但这是一个问题,而不是答案. (2认同)
  • @Jason:一个好问题通常是最好的答案(男孩我很想把它写成一个问题;-)) (2认同)