精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-03-02
但在java里面基本上都反对,并且称为涨血?因为java缺少支持的框架?可以举例说明吗? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-03-02
java中是为了保持业务对象的纯洁性,但是对于中小项目和快速开发的项目来说,太多的层会导致低效率。因此ActiveRecord用了Active Record模式,并利用动态语言的特点动态的添加方法来实现几乎0编程的数据库访问。java中目前也有这种,不过是通过元代码来实现,请看Appfuse和SpringSide
|
|
返回顶楼 | |
发表时间:2007-03-02
fatzhen 写道 为什么rails里面大家都不反对继承ActiveRecord::Base让域对象具有持久化逻辑,
但在java里面基本上都反对,并且称为涨血?因为java缺少支持的框架?可以举例说明吗? ROR的代码量少 所以多看点东西 java中的代码量大 所以放进去就看不清了.... |
|
返回顶楼 | |
发表时间:2007-03-02
刑天战士 写道 java中目前也有这种,不过是通过元代码来实现,请看Appfuse和SpringSide
可以用更简单的办法吗?比如做个持久化的基类,让域对象继承,然后在service中开启事务(或者用框架申明) 以前我们是这样做,后来才改成纯洁的业务对象,但没感觉到好处... |
|
返回顶楼 | |
发表时间:2007-03-02
继承?
活回去了... |
|
返回顶楼 | |
发表时间:2007-03-02
fatzhen 写道 刑天战士 写道 java中目前也有这种,不过是通过元代码来实现,请看Appfuse和SpringSide
可以用更简单的办法吗?比如做个持久化的基类,让域对象继承,然后在service中开启事务(或者用框架申明) 以前我们是这样做,后来才改成纯洁的业务对象,但没感觉到好处... 这就要看你们项目的情况了,如果像论坛这种都是CRUD的操作,恐怕Active Record模式是个好选择,如果你们的业务复杂而且数据库访问策略变化较多,Domain Object模式还是不错的 |
|
返回顶楼 | |
发表时间:2007-03-02
抛出异常的爱 写道 继承?
活回去了... 是以前的做法,有活回去的意思(当然持久化接口是必然写的) 现在看rails也这样做,就觉得这样也可以吧 现在大家用Spring,也很多人在用HibernateDaoSupport啊 |
|
返回顶楼 | |
发表时间:2007-03-02
fatzhen 写道 为什么rails里面大家都不反对继承ActiveRecord::Base让域对象具有持久化逻辑,
但在java里面基本上都反对,并且称为涨血?因为java缺少支持的框架?可以举例说明吗? 我不反对这样做,事实上我是主张省略DAO的。我所有的Service都继承一个公用的BaseDao获得所有的持久化逻辑。也就是说DAO和Service是合并的。 AR可以看成是把Java的Service对象,DAO对象,domain对象三位一体了。但对于Java来说,Service合并DAO容易,但要Service再合并domain对象,对于Java目前的框架来说,存在很大的技术难度,使得这样做基本不现实。 |
|
返回顶楼 | |
发表时间:2007-03-02
刑天战士 写道 这就要看你们项目的情况了,如果像论坛这种都是CRUD的操作,恐怕Active Record模式是个好选择,如果你们的业务复杂而且数据库访问策略变化较多,Domain Object模式还是不错的 那混用应该不错,Active Record的方式简化一些,很多时候可以用用; 看来纯洁的域对象不是必须的,以前是我自己斤斤计较了 |
|
返回顶楼 | |
发表时间:2007-03-02
robbin 写道 AR可以看成是把Java的Service对象,DAO对象,domain对象三位一体了。但对于Java来说,Service合并DAO容易,但要Service再合并domain对象,对于Java目前的框架来说,存在很大的技术难度,使得这样做基本不现实。 AR好像并没有把Service对象一块合并 java里的Service要负责事务以及多个domain对象的协作,这些rails是放到controller去做的吧? 如果java里模仿这样的方式可以吗? 不过我觉得保留service比较好看 "java里的Service要负责事务以及多个domain对象的协作,这些rails是放到controller去做的吧?" 这个我看了一下typo的代码,发现事务是model里面有,controller里面也有,是不是容易混乱 |
|
返回顶楼 | |