刚毕业,刚做了2个项目,但是我一直没明白为什么一定要放一个接口呢?比如在service层里面,明明都是每个对象对应一个操作的service类,但是为什么非要每个类都写一个接口呢?也没有别的类来继承这个接口啊?目前没有发现其他什么好处,请大牛指导谢谢。

解决方案 »

  1.   

    那就不一样咯  比如都是getUser();
    一个实现类可以是数据库中读取,另一个实现类可以是文件中读取,你写成接口,就可以任意的换
      

  2.   

    熟悉一下Spring就知道接口干吗的了?
      

  3.   

    接口就是标准,是用来隔离具体实现的(或者说是和具体实现解耦)。举个生活中的例子就是:各种手机、移动硬盘等连接上上的USB接口就是标准,大家各自制造自己的具体产品。产品使用者和提供者都遵守这个标准,那么使用者就不必担心自己电脑上的USB接口是否只能插移动硬盘而不能插手机。再打个比方,网络上的各种协议,比如HTTP协议,只要客户端和服务端都遵守这个协议,那么无论是用火狐狸浏览器还是用IE,也或者是360浏览器,都可以访问,不用担心服务端发过来的信息,浏览器解析不了。回到主题,程序接口的使用就将使用者和服务提供者之间进行了解耦,只要实现着遵守这个接口来做实现,使用者就不必担心具体的实现代码怎么写的。当然了如果再深究其实没有这么简单,比如实现要遵守“里氏替换原则”等,如果楼主有兴趣,可以去研究下《敏捷软件开发原则》。希望上边说的东西,能帮楼主理解,多多交流,呵呵呵。
      

  4.   

    就是因为你现在写的还少  
    有时间看看struts2的原理 源码 你就知道接口有什么好处了  struts2 主要就是一个核心控制器  那我们写的action只不过是他的一个小的控制器  处理一些事务.这时你就要知道 核心控制器就相当于一个项目经理 
    公司现在接了一个项目 交给了项目经理.
    项目经理一看  这个可以由你的小组完成  那个由那个小组来完成.
    这里的项目经理是分配任务的 就是核心控制器做的事  他具体做的时候就是看这个接口 判断action类是否实现了这个接口 要是实现了  这个接口有的方法  这个action的具体实现方法都有.然后根据他的名字来分配任务的.