中易网

java设计模式中既然有dao层为什么还要service层区别是什么?

答案:6  悬赏:0  
解决时间 2021-01-15 02:37
  • 提问者网友:姑娘长的好罪过
  • 2021-01-14 09:17
java设计模式中既然有dao层为什么还要service层区别是什么?
最佳答案
  • 二级知识专家网友:污到你湿
  • 2021-01-14 09:33
DAO负责数据库的增删改查,针对单表操作
Service调用DAO来实现业务逻辑操作,会涉及多表操作,有时候一个业务逻辑操作会调用多个DAO的方法
因此是在Service层中控制事务
比如:
UserDao {
// 根据部门ID删除用户
deleteUserByDeptId(String deptid)
}
DeptDao {
// 根据部门ID来删除部门
deleteDeptById(String deptId)
}
DeptService {
// 删除部门和部门以下的人
deteteDeptAndUser(deptId) {
DeptDao .deleteDeptById(deptId);
UserDao .deleteUserByDeptId(deptId);
}
}
全部回答
  • 1楼网友:持酒劝斜阳
  • 2021-01-14 14:15
要曾删改查其实写在一个里面也可以啊,连层都不用分啊分层主要是为了理清思路,以后还可以进行扩展啊!养成好的分层习惯对以后开发很有好处的!我也是初学者,如用不对,择言而听。
  • 2楼网友:青尢
  • 2021-01-14 12:52
dao层是数据层,services是控制层,这样分开,逻辑上比较清晰
  • 3楼网友:蓝房子
  • 2021-01-14 12:27
dao只是负责访问数据,也就是MVC中的Model 层但是访问什么数据,按什么顺序访问,按什么结果返回,这就是service层做的,对应MVC中的controller层
  • 4楼网友:一袍清酒付
  • 2021-01-14 11:26
dao层一般只增删改查,操作数据库,无其他代码,Service层才是业务逻辑层,打个比方,
用户注册,注册信息保存到数据库中,用户信息在service层中设计到业务逻辑了,保存前要判断数据库中有没有重复的用户名,没有的话,给密码加密后在传入到dao中,dao来insert进去,所以dao的代码不要掺杂业务逻辑代码,接收Service处理好的数据,然后保存.这样层次分开了就,比较容易维护,dao层的方法也容易重用,一个查询,可能多个地方用到,假如dao也有业务逻辑了,那么就不能重用了.
  • 5楼网友:低音帝王
  • 2021-01-14 10:37
dao是数据访问层,service是业务逻辑层,必须分开以减少藕合度,便于维护
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息