关于dao和service的设计问题

黎毅麟cc
  • 145

Java Web开发常使用dao-service-Action(Controller)这样分层开发。

上网查过dao是一个直接操作单个POJO对象的层,Service是通过调用多个Dao类,达到操作多个POJO类的目的。所以我觉得Service层要比Dao层高级。

Action(Controller)层是跟视图层(JSP等)交接的层,它直接调用Service层获取数据库数据。

但我的项目中,有些POJO类在业务逻辑上不需要配合其它POJO类一同操作,也就是Action(Controller)层直接调用Dao层对应的类即可。

我的问题是:Action(Controller)层中,有的类关联Service层,有的类直接关联Dao层。这样调用的会不会不好或者不规范?还是花功夫创建一个只调用单一一个Dao类的Service类?

这样我觉得Service类重复了dao类的功能,只为了统一Action(Controller)层都只关联Service层,这样的工作有点多余。

回复
阅读 3.5k
1 个回答

service经常会整合一系列相关的事务性操作,可以粗略的认为是多个dao层方法的综合。

我觉得你不应该在此纠结,如果项目很小,单一存取,没有事物直接操作dao层是可以的,没必要片面追求分层明细。

不过我建议如果时间充足,还是要区分出来,这样项目之后的重构和可塑性会很好。

总之,不要太纠结这个问题。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏