该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-07-09
treblesoftware 写道 lym6520 写道 treblesoftware 写道 lym6520 写道 treblesoftware 写道 抽象BASEDAO继承HibernateDaoSupport。之后又被继承,很乱。而且加个抽象,把实现放在子类,看似是万能,但是封装了这一层能给我们带来什么?复杂的关系?还是减少了我们的代码?
其实我在开发当中所有dao都要继承HibernateDaoSupport,你是否有更好的方法?在实际开发当中确实可以给你减少代码! 我认为DAO的作用最多是减少一层偶合,本身它的责任就是这个,如果在DAO上在抽象,在封装,都失去了原本的意义了哦。我是直接来个泛型,把通用的方法往这个DAO里一写(先通用起来),之后别的DAO(那些乱七八糟的逻辑)在继承那个泛型DAO。这样反而来的简单呀。 我觉的用泛型挺麻烦的,定义的时候还要告诉他我是哪个实体,等等我用你的方法。。。之类的! 而我的这个,语句可以实现大部分操作,而如果真的有一些复杂的操作,可以再定义一个dao专门处理那些复杂的操作...但是我想dao层存在的主要目的是与数据库通信,让服务层来调用,不应该包含太多的业务,你可以封装复杂的hql语句。 为了提高开发的速度,可以减少代码呀。而且还可以统一编码规范,容易TDD啊(汗,这部分本身就不需要TDD,因为泛型DAO TDD过一次就已经OK了)。可以减少编码错误吧,统一风格。 提高开发速度?真的是这样吗?如果一个dao可以解决的问题,为什么还要用上泛型dao呢? |
|
返回顶楼 | |
发表时间:2009-07-09
lym6520 写道 treblesoftware 写道 lym6520 写道 treblesoftware 写道 lym6520 写道 treblesoftware 写道 抽象BASEDAO继承HibernateDaoSupport。之后又被继承,很乱。而且加个抽象,把实现放在子类,看似是万能,但是封装了这一层能给我们带来什么?复杂的关系?还是减少了我们的代码?
其实我在开发当中所有dao都要继承HibernateDaoSupport,你是否有更好的方法?在实际开发当中确实可以给你减少代码! 我认为DAO的作用最多是减少一层偶合,本身它的责任就是这个,如果在DAO上在抽象,在封装,都失去了原本的意义了哦。我是直接来个泛型,把通用的方法往这个DAO里一写(先通用起来),之后别的DAO(那些乱七八糟的逻辑)在继承那个泛型DAO。这样反而来的简单呀。 我觉的用泛型挺麻烦的,定义的时候还要告诉他我是哪个实体,等等我用你的方法。。。之类的! 而我的这个,语句可以实现大部分操作,而如果真的有一些复杂的操作,可以再定义一个dao专门处理那些复杂的操作...但是我想dao层存在的主要目的是与数据库通信,让服务层来调用,不应该包含太多的业务,你可以封装复杂的hql语句。 为了提高开发的速度,可以减少代码呀。而且还可以统一编码规范,容易TDD啊(汗,这部分本身就不需要TDD,因为泛型DAO TDD过一次就已经OK了)。可以减少编码错误吧,统一风格。 提高开发速度?真的是这样吗?如果一个dao可以解决的问题,为什么还要用上泛型dao呢? 这问题扯开就有点撤远了。这里封装一层并不一定可以提高速度,但是,如果你的DAO是泛型的封装了HIBERNATE框架,那么速度一定提高不少。很明显,几乎3十几种相同的方法,你不需要在一遍一遍的重写,虽然这个东西看起来重写一次也很简单,但是在这个重写的过程中很容易出错,一出错,你DBUG的时间就多了。所以这个泛型DAO从这一方面来说,有优势,而且这3十几种方法被统一了,不会因为人不同,而写出不同的DAO,从这方面,也有优势,方便维护。而且可以减少TDD,测试的时间。还有些优点,不说了,呵呵。 |
|
返回顶楼 | |
发表时间:2009-07-09
引用 这里封装一层并不一定可以提高速度,但是,如果你的DAO是泛型的封装了HIBERNATE框架,那么速度一定提高不少
有没有人支持呢?然到用了泛型速度就可以提高吗? |
|
返回顶楼 | |
发表时间:2009-07-09
lym6520 写道 引用 这里封装一层并不一定可以提高速度,但是,如果你的DAO是泛型的封装了HIBERNATE框架,那么速度一定提高不少
有没有人支持呢?然到用了泛型速度就可以提高吗? 我晕,朋友,你的帖子快被新手了。哎! |
|
返回顶楼 | |
发表时间:2009-07-09
...
|
|
返回顶楼 | |
发表时间:2009-07-10
god,
|
|
返回顶楼 | |
发表时间:2009-07-10
哪有这种东西啊,你好好看看 ActiveRecord , 这个倒是比较容易实现
|
|
返回顶楼 | |
发表时间:2009-07-10
换了标题,请大家支持,讨论讨论!
|
|
返回顶楼 | |
发表时间:2009-07-10
修改了下,大家发表发表意见!
|
|
返回顶楼 | |