论坛首页 Java企业应用论坛

继承还是代理

浏览 12235 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (4)
作者 正文
   发表时间:2011-06-22  
接口针对业务来设计, 继承针对公共类来设计。
0 请登录后投票
   发表时间:2011-06-22  
wxno1 写道
我还是感觉这个service改成叫dao比较合适,本来就干了dao的事情嘛

同意,而且把pojo作为类属性,只能作为prototype,感觉奇怪
0 请登录后投票
   发表时间:2011-06-22  
371937605 写道
wxno1 写道
我还是感觉这个service改成叫dao比较合适,本来就干了dao的事情嘛

同意,而且把pojo作为类属性,只能作为prototype,感觉奇怪

不仅是命名上的混乱,逻辑结构也比较糊涂。。
service继承dao接口也不是不可以,但是serviceImpl就明显的不是看名字那么简单,正确的serviceImpl应该返回相应dao.method的结果。可实际上它就是个daoImpl。。。。
0 请登录后投票
   发表时间:2011-06-22  
nighthawk 写道
dao跟service,最好是依赖关系,get,set注入。这从概念上说得过去。

当然,有的项目图省事,直接让service继承公共的dao。这儿的service只是名字上的service,其实还是个dao。


正解,+1
0 请登录后投票
   发表时间:2011-06-22  
LZ,你这个是DAO,不是Service。。。
0 请登录后投票
   发表时间:2011-06-22   最后修改:2011-06-22
第一.BaseService接口和它的实现类BaseServiceImpl,按照楼主贴出的代码显示,应该是所于DAO层。
第二
引用

package com.hp.system.service;  
  
import com.hp.common.basedao.BaseService;  
/** 
 * Extends BaseService</br> 
 * {@link com.hp.common.basedao.BaseService} 
 * @author  
 * 
 */  
public interface PubUsersService extends BaseService { 

     
     


这里面PubUsersService接口其实用不着继承BaseService接口,只要PubUsersServiceImpl继承BaseServiceImpl即可。

其实最主要的是要搞清楚,extends和implements的使用场景,以及你的业务是要实现什么。

0 请登录后投票
   发表时间:2011-06-22  
1.Service,BO,DAO职责先划分明确(根据业务裁剪分层结构);
2.Java里面的接口实际上是来磨平和C++的的界限,继承与接口承载的责任是不同的,君不见Spring源码处处可见上面的模式么,只不过用在这里让人有骂爹的感觉;
3.接口设计是有讲究的(语法层面,涉及编译器的优化),建议看下JVM specification,有助于提高的。
0 请登录后投票
   发表时间:2011-06-23   最后修改:2011-06-23
且不论 是DAO 还是 Service   代码好像用的是模板方法模式  在JDK和Spring随处可见
interface A    abstract class AbstractAImpl implements A
interface B extends A     class BImpl extends AbstractAImpl implements B
0 请登录后投票
   发表时间:2011-06-23  
这段代码代表着国内大多数公司的水平,真的不怎地
0 请登录后投票
   发表时间:2011-06-23   最后修改:2011-06-23
jackerxff 写道
且不论 是DAO 还是 Service   代码好像用的是模板方法模式  在JDK和Spring随处可见
interface A    abstract class AbstractAImpl implements A
interface B extends A     class BImpl extends AbstractAImpl implements B


这种模式在框架设计,和JDK中确实很常用。这段代码有模板方法的意思,但严格来说并不是。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics