有效地分离数据访问层(DAO)和业务层(SERVICE),使之各司其职,举例说明:如果DAO层访问数据库,得到的数据根据业务需要要进行加密,那么取数据和把数据加密就是2个步骤,访问数据和业务逻辑加工,如果去掉任意一层,那么剩下的那一层就超出工作范围了,所以DAO层就是取数据用的,SERVICE层就是加工数据用的,这就实现了数据访问层和业务逻辑层的有效分离
Service是业务层,主要处理业务逻辑,不跟数据库打交道。 我也曾经有这样的疑问,认为Service层和DAO可以合在一起。这样认为的原因是接触的程序比较少。当我看到一个复杂点的业务逻辑,在一个Service中调用了好几个DAO才能解决问题,比如,记录了用户表以后,可能要再记录一个日志,那就需要再调用一个LogService。这样看来,Service和DAO还是有区别的。
dao层是厨师,做饭的。(对数据库的增删改查)
service层是客人要的服务。(接口,一些方法)
action层是服务员。将客人需要的服务给厨师,让厨师去做饭去!