学习java web开发框架ssh的问题
都知道ssh框架的分层结构:action-service-daoservice和dao都有接口,然后实现类impl。我想问的是service和dao的接口是干什么用的?在...
都知道ssh框架的分层结构:action - service - dao
service和dao都有接口,然后实现类impl。
我想问的是service和dao的接口是干什么用的?
在service和dao下直接写实现逻辑和操作不就可以了,为什么要分接口和实现类? 展开
service和dao都有接口,然后实现类impl。
我想问的是service和dao的接口是干什么用的?
在service和dao下直接写实现逻辑和操作不就可以了,为什么要分接口和实现类? 展开
展开全部
对于这类问题,你首先得了解了解使用接口的好处。 当然,在一些小的项目上,很难看出其发挥的优势,感觉不到它有什么好的,有时候写起来还麻烦,干脆不用了。其实,当一些项目很大的时候,接口的作用是发挥地相当的明显的。 比如:如果你开发业务逻辑代码,当你好不容易的实现了它全部的功能,突然用户需求要改,你在修改你代码的同时,调用你代码的其它人也会改,如果代码关联性强的话,会有很多人都要改动代码,这样一来二去,程序会变得相当的不稳定,而且可能还会出现更多的新Bug,所有人都可能会陷入混乱。 但, 如果使用接口的话,在你使用它之前,就要想好它要实现的全部功能(接口实际上就是将功能的封装)。确定下这个接口后,如果用户需求变了,你只要重新写它的实现类,而其它人只会调用你的接口,他不管你是怎么实现的,它只需要接口提供的功能。这样,很可能只需要把你的代码修改就可以了,其他人什么都不用做。同时:这样做的话,使得开发人员能够分工明确,只要确定下来接口了,就可以同时进行开发,提高开发效率。另外,使用接口还有使用方便,可读性强,结构清晰等优点。
所有的接口,基本上目的就是降低耦合度,以屏蔽具体的底层实现。当底层实现变动时,可以不用修改上层Service的实现,就可以很好的兼容底层的变动。总之一句话,接口对外封装过程,对内提供统一标准。
所有的接口,基本上目的就是降低耦合度,以屏蔽具体的底层实现。当底层实现变动时,可以不用修改上层Service的实现,就可以很好的兼容底层的变动。总之一句话,接口对外封装过程,对内提供统一标准。
展开全部
其他人回答的都很好 但漏了一些内容 我来补充下
首先开发项目时候很多实际逻辑是待定的,但都有明确的需要的方法,所以一般开发时候都先开发接口 定义需要的方法 待定其实现的逻辑。(比如要查询方法,但根据什么条件怎么查询待定等)
再有就是很多项目里接口和接口是互相调用的,比如
有个 public class Chinese implements Person(中国人 调用了 人的接口)
里面有说话的方法 如:public void sayChinese();
还有一个接口实现类 如:public class Study implements Hobby(有个学习类实现了业余爱好接口)
方法是 public void studyChinese();
现在要求是 中国人 也会美国的外语
这时候如果用你的方法 只能重新写,而用接口的话 只要在Chinese类里注入接口Hobby
可以直接调用studyChinese();(spring容器来管理 只需几行配置文件)
这样很多接口之间 都可以关联起来 很方便
希望对你有所帮助
首先开发项目时候很多实际逻辑是待定的,但都有明确的需要的方法,所以一般开发时候都先开发接口 定义需要的方法 待定其实现的逻辑。(比如要查询方法,但根据什么条件怎么查询待定等)
再有就是很多项目里接口和接口是互相调用的,比如
有个 public class Chinese implements Person(中国人 调用了 人的接口)
里面有说话的方法 如:public void sayChinese();
还有一个接口实现类 如:public class Study implements Hobby(有个学习类实现了业余爱好接口)
方法是 public void studyChinese();
现在要求是 中国人 也会美国的外语
这时候如果用你的方法 只能重新写,而用接口的话 只要在Chinese类里注入接口Hobby
可以直接调用studyChinese();(spring容器来管理 只需几行配置文件)
这样很多接口之间 都可以关联起来 很方便
希望对你有所帮助
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是一种编程思想,面向接口编程,你真正参加工作你就会知道一个项目不是你一个人写的,是由很多人人一起写的,写接口是为了给别人调用的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
接口是用来指定规范的,假如没接口你想怎么写就怎么写,开发不是一个人在开发,没有接口规定好,别人怎么知道你的方法叫啥名字
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
解耦合, 你需要深刻理解他们的含义,多看看底层代码的,你提的问题很好,他们都是开源框架
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询