服务和DAO始终实现接口

use*_*212 8 java spring spring-mvc

在我看过的所有MVC项目中,"service"和"DAO"类总是实现自己的接口.但几乎所有时间,我都没有看到过这种界面有用的情况.

在这些情况下是否有任何理由使用接口?不在"服务"和"DAO"类中使用接口可能会导致什么后果?我无法想象会有什么后果.

Vik*_*dor 0

基于接口的实现有助于在测试套件中模拟它们。在我们的项目中,在测试服务层时,我们模拟 DAO 并提供硬编码数据,而不是真正连接到数据库。同样的论点也适用于服务层。