发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 大数据 扩展性 并发编程 事件驱动 分布式 SOA

关于泛型, 各位看这样合理不?

2008-03-27 14:42
赞助商链接

小弟常把一些CRUD操作都封装在基类中,
各位大侠看看我这样好不好?

比如说BaseDao中方法 BaseModel load(Long id);同时AbstractBaseDao中实现了该方法
然而在子类dao UserDao中使用load(id)方法 返回一个BaseModel类型的对象,
经常转型很麻烦, 于是我使用了泛型
Java代码

public interface BaseDao<T extends BaseModel> {

/**
* 根据ID查找对象
*
* @param id
* @return
*/
T load(Integer id);

/**
* 保存对象
*
* @param model
* @return
*/
Integer save(T model);

/**
* 更新对象
*
* @param model
* @return
*/
int update(T model);

/**
* 删除对象
*
* @param model
* @return
*/
int delete(T model);

/**
* 查找所有对象
*
* @return
*/
List<T> findAll();

/**
* 分段查询对象
*
* @param start
* @param count
* @return
*/
List<T> find(int start, int count);

/**
* 统计对象数量
*
* @return
*/
int countAll();

}


public interface BaseDao<T extends BaseModel> {

/**
* 根据ID查找对象
*
* @param id
* @return
*/
T load(Integer id);

/**
* 保存对象
*
* @param model
* @return
*/
Integer save(T model);

/**
* 更新对象
*
* @param model
* @return
*/
int update(T model);

/**
* 删除对象
*
* @param model
* @return
*/
int delete(T model);

/**
* 查找所有对象
*
* @return
*/
List<T> findAll();

/**
* 分段查询对象
*
* @param start
* @param count
* @return
*/
List<T> find(int start, int count);

/**
* 统计对象数量
*
* @return
*/
int countAll();

}



为了方便操作,我的BaseService也是这样public interface BaseService<T extends BaseModel>{...}

另外问问我这样做了怎么使用spring注入

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com