当前位置: 代码迷 >> J2EE >> service层代码 为啥大多建个接口,让service实现类来继承
  详细解决方案

service层代码 为啥大多建个接口,让service实现类来继承

热度:62   发布时间:2016-04-17 23:53:04.0
service层代码 为何大多建个接口,让service实现类来继承
ss2h 框架中

service层代码 为何大多建个接口,让service实现类来继承?
如UserServiceImpl类要继承接口UserService。
直接写实现类不要接口不好吗?
------解决方案--------------------
想到几点:
1. 架构人员帮开发人员实现个框架,告诉你要实现哪些功能,但是他们不会帮你实现代码;
2. SOAP等协议类,有相应工具,会根据wsdl定义的功能,直接生成接口,当然如果闲的无聊,可以手动把interface改成class;
3. 灵活、易扩展,对外呈现一直是接口,可以针对接口做不同实现类。
------解决方案--------------------
首先纠正楼主一点:接口专业术语是实现!!!并不是继承!!!继承跟实现是有区别的!!继承是继承了父类的方法.
继承:你都不用写方法代码了.直接SUPER就可以调用.
实现:接口写好方法名.代码是你自己去写出来.
下面进入正题:两个角度来说吧,我用DAO层来解释.
1.站在你的角度::我假设我是你.没有实现接口自己直接写类:例如我要写一个PersonDao类.首先我就要想返回一个什么值给你呢 ?返回一个具体参数值呢还是返回一个对象给你呢?好吧.不知道...去翻别人的类的代码.(烦死了)...我CAO别人还没写..没得翻!!!!纠结!!去问项目经理你要什么值!!!项目经理不在????.....好吧晕了......到方法名了:方法名代表了这个方法的意义:例如保存一个对象.有些人爱用SAVE(),有些爱用ADD().到底用哪个呢?
2.你的同事(使用你的类.你的类调用者):我CAO.为毛有些人返回给我的是参数.有些人返回给我的对象.搞毛线啊.怎么处理啊!!!为什么有些用SAVE方法.有些用ADD方法名????去翻你代码,晕了
总结一下:JAVA的JDBC就是一种接口规范.SUN公司写好一系列接口.规定返回值.各大数据库厂商的代码我不管你怎么实现.命名.返回值.传入值是定死的.方便了调用者.也方便了实现者.这就是编程规范.
  相关解决方案