原因如下:

分别定义接口和实现类是java架构思想中的开闭原则扩展开发,修改关闭的体现,例如:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

假如你这个注册刚开始是对国内用户开放,中国用户注册成功返回“注册成功”,随着业务扩展,需要海外用户开放,假如美国用户返回“register success”,如果你有接口,可以再美国的AmericaUserServiceImpl.java中实现一个UserService.java的接口,来定义美国用户的注册业务,而不是在之UserServiceImpl.java中增加if else来对不同逻辑进行处理,这样,后续如果某个地区的注册业务有变动,只需要修改对应地区的实现类,修改不会影响到其他地区的实现类,降低了耦合性。

那是不是所有的项目都应该用到这样思想呢?

对于小型项目来说,确实可以不用多写一个接口,直接写实现类就可以了。

接口+实现类是一种良好的编码习惯而已。就好像写代码时候的缩进和驼峰命名法。

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄