一个页面对应一个DAO,还是一个模块对应一个DAO

seandu 发布于 2013/06/04 11:37
阅读 1K+
收藏 3

各位在开发的时候,是一个页面对应一个DAO类,还是一个模块对应一个DAO类

如果一个页面对应一个DAO类,优点是每个页面的后台代码都有自己的类,方便维护,缺点是造成会类很多

如果一个模块对应一个DAO类,优点是每个模块的后台代码都在一个DAO里面维护,类的数量会减少,缺点是如果业务比较复杂,会造成一个类很庞大

以下是问题补充:

@seandu:我同事又提出一个观点,他认为应该一个DAO对应一张数据库表,而不是和业务相关联 (2013/06/04 11:42)
加载中
0
小银
小银
一个通用dao,一个service包含一个泛型dao实体,dao只负责增删改查的对数据库操作。。各种特殊操作在service里定制
烈冰
烈冰
回复 @小银 : 嗯,除非你是做产品才会跨数据库,一般的业务系统在需求阶段可能已经定了用什么数据库
小银
小银
回复 @烈冰 : 一般sql语句不太会频繁改动吧,。。尽量在sql语句边上多写点注释,说明下这个sql语句的一些条件用意等信息,如果有维护的必要刻意快速的理解语句的意图。。。我觉得sql语句的强大灵活应该得到利用。。但是这样在更换数据库的时候会遇到非常大的麻烦,有些特定数据库的函数并不是通用的
烈冰
烈冰
我也喜欢这样,简单,不过SQL维护起来很麻烦
小银
小银
回复 @杜仁栋 : 额。。。我的service里都是有sql语句的。。。我不知道这样是不是非常的不好。。但是我觉得sql语句是非常灵活非常强大的,如果可以写sql的话灵活性会大很多。。至少我是这么操作的
seandu
seandu
特殊操作的话,如果在service里面做的话, 那就有可能要在service里面写sql了?
0
红薯
红薯
模块吧
0
不正常的物种
不正常的物种
果断模块,一个页面一个dao,类太多了
0
罪恶的花生
罪恶的花生

我是一个表,或者一个对象

0
就是不着调
就是不着调
一个通用DAO, 一个模块对一个service.
0
loki_lan
loki_lan
面向对象编程,一个对象一个DAO
loki_lan
loki_lan
回复 @杜仁栋 : 谁说一个对象只对应一个表的
seandu
seandu
一个对象,对于DAO来说,就是对应的一个实体对象,一个实体对象就是对应的一个数据库表,也就是说,一个DAO对应一个数据库表
0
灯光下的宁静
灯光下的宁静
一个对象一个借口类还是比较科学的
0
抛出异常的爱
抛出异常的爱

一个表吧

不然大家每人写N个sql都重了.

0
3_14159265359
3_14159265359
一个领域对象对应一个dao 一个模块对应一个service 一个service调用多个dao
0
amonxu
amonxu

模块对应DAO,类怎么会大呢,DAO不是只放对DB的操作吗。你说的是service吧。

这个当然不是一定的,最好的办法是模块对应service。因为如果一个页面对应一个service,最后会创建类创建到你恶心,一个表对应service也一样,表非常多的情况下就蛋疼了,而且有些操作是多表关联的(这是很常见的事情)。

service非常大也无可厚非,我没见过谁说因为一个类大而怎么怎么样的。

或者如果你真有强迫症,你可以分为几个小service啊,大的模块中也可以细分为几个小模块。

返回顶部
顶部