blent
2011-01-09 21:54
采纳率: 25%
浏览 265
已采纳

问一个web开发的基础性问题 关于结构分层的

我是刚开始学java web 开发,我看了很多项目,
很不明白为什么分这么多层.
例如一个项目采用struct 有:
1.实体类:
2 Action类:
3.DAO类
4service类。
5jsp.
请问为什么这样分啊,把这些都放在一块是个坏主意,可是我不能理解的是:service,我觉得省掉service会更简单些,
而且为什么DAO,service,真正起作用的类都要实现一个借口呢?使用它们的时候都是声明接口类,然后再注入它们,为什么不直接使用呢,
疑惑中。。。

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • jiangguangxian 2011-01-09 22:24
    已采纳

    这个问题很好解释,当初我也是不明白,但是后来遇到实际情况就明白了。DAO只负责数据库的操作接口。而service平常的时候只是和dao是类似的方法。那么service的真正含义是什么呢?

    讲的官方点,service就是做业务逻辑的,就普通点service对dao的数据进行一些处理。

    我们的jsp属于现实逻辑,把数据传入action,而action再好的结构中应该不会有太多的业务逻辑,而只是把数据直接转入service,而这些数据并不是我们数据库能直接存取的,怎么办,通过逻辑算法进行计算后者转换。这样jsp只负责显示,而action只负责跟view层的数据交换,而dao层只要根据特定表生成特定的增删改查接口。一些比较烦人的复杂的业务逻辑都放在service中了。

    你没有感觉到service重要,因为你根本就没有什么业务逻辑,你仅仅是把数据库的数据提取出来直接就能通过action传给页面,加入你提取的数据并不是你页面能够直接显示的呢?遇到的时候你可以再回头想这个问题。

    评论
    解决 无用
    打赏 举报
查看更多回答(5条)

相关推荐 更多相似问题