我有一个接口,只有一个实现.以下对表示一个简单的java对象.我想删除该接口并直接使用对象.但是我想知道什么时候需要它以及它为什么以这种方式设计.这绝对不是为了减轻单元测试覆盖率.那么,为什么在我的项目中只有一个实现的接口呢?谢谢.
Ben*_*een 10
当您可以扩展/更改项目时,界面很有用.例如,如果通过将数据存储在文本文件中来启动项目,然后决定从数据库更改为执行此操作.如果这两个都是相同接口的实现,那么将第一个接口换成第二个接口非常简单.只是在使用它的类中交换具体实现的情况.例如,简单地改变
IStorage storage = new FileStorage();
Run Code Online (Sandbox Code Playgroud)
至
IStorage storage = new DBStorage();
Run Code Online (Sandbox Code Playgroud)
虽然为单个实现提供接口似乎毫无意义,但它可能会为您节省大量的重构工作.