SJu*_*n76 11
总之一句:不.接口的合同可以直接在您的类中指定.
如果您明确表示将来不需要再使用相同方法,则可以避免定义接口.
当然,这里的问题是"未来"条款.如果项目很小,没有很长的开发/升级期,并且定义明确,那么您几乎可以确定将来需要什么.
如果项目很长,可能会发生变化,那么你将不得不考虑:
考虑到现在可能只有一个实现,但将来可能会出现更多的实现.此外,通过使用接口,您可以通过仅使用接口来避免创建对具体类的依赖性.然后,稍后,如果您决定更改实现,则可以创建一个实现接口的新实现,而不会对仅依赖于您的接口的其他代码产生不利影响.
考虑:
public interface SomeInterface {...}
public class AConsumerOfSomeInterface {
private SomeInterface service;
public AConsumerOfSomeInterface(SomeInterface theImplementation) {
service = theImplementation;
}
//some code which uses the service
}
Run Code Online (Sandbox Code Playgroud)
现在,您可以在未来更改此类的情况下交换实现.因为这很容易做到,即使您认为不需要接口也很有意义.