在项目中发现Service层每个实现类都有一个接口,网上搜搜发现Dao层也存在这样的情况。在我们项目中,我们使用的是Hibernate原生的Dao,并没有添加额外的接口。而我们的service层中业务实现类和接口在绝大多数的业务场景中都是一一对应的,没有接口是有多个公共实现类的,那么我们的接口设计有什么意义呢?我现在只能想到一下几个缺点:
1. 维护繁琐。如果实现类的方法需要做涉及到参数或者方法名称的更改时,需要更改两个地方。
2. 代码冗余。建立一个类就可以解决问题,现在需要建立一个接口加一个类。