几天前拜读了rainlife大哥哥的文章:
www.iteye.com/topic/69293
于是乎自行改造了项目中的原有抽象结构:
范型DAO将所有DAO的CRUD方法使用范型抽象到此层面。
IGenericDAO.java 代码
- public interface IGenericDAO<t></t> {
- public List<t></t> find(String sql) throws NullSqlStringException,
- UnformatSelectStringException,AccessDataException;
-
- public T save(T t) throws NullPointerException,AccessDataException;
-
- public int deleteById(String id) throws AccessDataException;
-
- public T update(T t) throws NullPointerException,AccessDataException;
-
- public T getById(String id) throws AccessDataException;
- }
此DAO层接口主要处理针对某一PO的特殊操作的方法。
ISysUserDao.java 代码
- public interface ISysUserDao<sysuser></sysuser> extends IGenericDAO<sysuser></sysuser> {
-
- public void initializeRoles(SysUser user) throws NullPointerException;
-
- public void initializeOrganization(SysUser user) throws NullPointerException;
-
- public void initializeHeadShip(SysUser user) throws NullPointerException;
-
- public void initializePosition(SysUser user) throws NullPointerException;
-
- public void initializeTitle(SysUser user) throws NullPointerException;
-
- public void initializeWorkGroups(SysUser user) throws NullPointerException;
- }
其实,范型的真实类型已经在这一层上体现了,我们使用范型主要还是为了减少在此层接口中大量出现的相同的CRUD的方法的定义。
分享到:
相关推荐
Hibernate_范型_级联
范型程序设计与 STL.pdf,大小约 300K。
C++多范型设计.pdfC++多范型设计.pdfC++多范型设计.pdf
本书详细地介绍了从“应用领域”到“方案领域”的C++设计实现方法,以及开发者在设计思考和设计实践过程中需要用到的记法、图表和设计模型。在读完这本书以后,读者将会了解如何根据应用领域的共同性和差异性分析...
C++多范型设计,ISBN:9787508318240,作者:(美)James O.Coplien著;鄢爱兰,周辉等译;鄢爱兰译
C++ 设计新思维 范型编程与设计模式之应用 pdf
C++多范型设计C++多范型设计C++多范型设计C++多范型设计
C++ 多范型设计
c++ 多范型设计........
这本书讲解了大量的编写模板库的技巧,其核心设计思想是基于Policy来构建模板库。并且通过运用这些模板技术(例如元编程等),实现了多个设计模式的代码框架的自动生成,书不厚,正文内容不过300页,但是书中没有...
C 多范型程序设计 PDF 教程,内容方面主要介绍了C 从应用领域到方案领域的设计实现方法、以及开发者在设计思考和设计实践过程中需要用到的记法、图表和设计模型。通过对本书的阅读,您将会了解如何根据应用领域的...
C++ 设计新思维:范型编程与设计模式之应用