为什么要把DAO作为接口,再用impl类来实现?
点击关注上方“Java技术江湖”,设为“置顶或星标”,第一时间送达技术干货。
这样做是为了后期的维护。当软件全部编好了,测试好了,然后给用户装好了,但是过一段时间,用户用着不爽,他又让做软件的人改变一些功能,这样软件开发人员只需要改实现类里面的代码,也就是只用改一个包下代码,不用这个包改一下,那个包里的代码还要改。因为项目大了,代码就是成万上亿行。用了接口的话,就起了这个作用。
我举个生活中的例子:就好比你家突然停电了,经过你的一番检查,发现是一处电线断了,这时候你只需要把电线里面的铜丝或者铝丝接上,就好了,而不用把电线外面的绝缘皮剥了,然后再接铜丝或者铝丝。可能说的意思不太对,但是就是这个意思。
另外,不用接口的话,假如修改了dao中的代码,因为service引用了dao中的类,那么也要改变service里面的代码,改完之后要重新编译运行,当项目比较大的时候,编译和运行很浪费时间的,而且会产生一些意外(我听老师说的,我还没遇见过),本来只要编译dao中的代码,现在不光要编译dao中的代码,还要编译service。
因为你不用接口,间接着action里的代码也要改,因为action中引用了service中的类,到最后,就变成了,牵一发而动全身。本来在各个层之间用了接口只需要改一处代码的,这下可好,全要改,再举个不太恰当的例子:好比,我摔了一跤,小腿摔断了,小腿断了,因为没用接口,间接着,大腿也断了,接着,屁股开花了,接着,上身也感染了。最后gg了。可能不太恰当,但是有助于你理解。
关注公众号【Java技术江湖】后回复“PDF”即可领取200+页的《Java工程师面试指南》
强烈推荐,几乎涵盖所有Java工程师必知必会的知识点,不管是复习还是面试,都很实用。
评论