开发java快2年了,今天忽然发现一个问题,我的web项目都是一个接口对应一个实现类。
这样的接口还有意义吗?
我觉得是没有任何意义的,一个接口对应一个实现类,唯一的好处就是实现类会提示接口的那个方法没有实现。
但是却增加了我每次都要为实现类写一个接口的复杂性。
//认真思考,最开始学习java接口的时候,是因为一个接口可以有多个实现,但是实际web项目中一个接口只有一个实现类,
所以一个接口只有一个实现类,这样的接口是没有任何用。
但是我错了,其实是有用的:
比如说,我dao层,里面有个接口,UserDao,里面有个方法save,
以前我是调用save方法,将user对象存到数据库中,但是现在我的需求变了,我想讲user保存到磁盘中。
如果单纯是这样,接口也没什么用,我可以新定义一个接口,然后再定义一个实现类,不就行了。
此处还得说一个背景,如果我的接口是给百度、网易、新浪在使用的呢?我定义好的接口可以随便增加一个接口吗?
答案是否定的,你必须一开始设计的时候就设计很好,接口永远不会变,变的只是实现类,那么这样的话,你的接口将很有用。
扩展性很强,别人用着你的接口很爽。