本文主要是介绍OA系统Dao层抽取方法总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在做OA系统的过程中,涉及到Dao层的抽取,下边对其作如下总结:
1、 第一步:最初设计为:为每一个实体都设计出一个Dao层的接口,同时有一个实现类实现该接口。结构如下:
这种设计的问题在于,因为每一个实体类Dao层接口中的方法都有很大一部分是相同的,这就造成了不必要的重复,每增加一个实体类都需要做很大的工作量。
2、 第二步:为了解决实体类Dao层接口中代码重复的问题,向上抽取一个BaseDao接口,让所有的Dao层接口都继承该接口,这样就避免了重复写相同的代码,同时如果每一个Dao层类需要特有的方法都可以在Dao层接口中进行扩展。在这里需要注意的是:因为BaseDao不是为某一个具体的Dao服务的,所以参数的传递就需要使用泛型。结构如下:
但是这样还是有些问题,因为每一个Dao层接口实现类都实现了接口,所以就都需要实现其中的所有方法,这样一来也会造次实现类中的实现方法的重复,
3、 第三步:为了解决实现类中的代码重复,创建一个类BaseDaoImpl实现BaseDao接口,让其他的一系列接口实现类继承这个类,这样就可以将公共的方法只在BaseDaoImpl中实现一次,同样在这里需要注意的是,由于BaseDaoImpl不是为某一个类服务的,所以需要使用泛型,在实现类继承BaseDaoImpl类时指明泛型对应的类型。结构如下:
这篇关于OA系统Dao层抽取方法总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!