在审阅代码时,发现很多的Service中,啥也没做,只是在DAO层外面又封装了一层,
对于 这样的增、删、改、查的操作,不包含任何的商业逻辑,看不出要扩展的必要,如果考虑到权限,也是在Action这一层来完成,与实体没有任何的关系。我觉 得完全没有必要用再加上Service这一层。非常的重,代码也显的很冗余。不可以直接在Action中调用BaseDao的操作就OK了,这样程序就写 的很轻便了。
但是我在实际工作中,发现很多人都是这样写,而不用Action +DAO的方式,而我却经常这样写,所以很疑惑,难道这是反模式吗?
--------------------------------------------------------------------------------
Robbin 自己说过,他就是DAO跟Serivce层合并的。这个分层其实跟模式没有直接关系,主要还是架构问题。
比如你在系统中用spring的aop实现事务管理。事务管理绑定到Service层,而不是DAO层,事务组合就少一些问题。 但是如果,你在DAO里自己做事务处理,那Service层真的没啥必要。
对于 这样的增、删、改、查的操作,不包含任何的商业逻辑,看不出要扩展的必要,如果考虑到权限,也是在Action这一层来完成,与实体没有任何的关系。我觉 得完全没有必要用再加上Service这一层。非常的重,代码也显的很冗余。不可以直接在Action中调用BaseDao的操作就OK了,这样程序就写 的很轻便了。
但是我在实际工作中,发现很多人都是这样写,而不用Action +DAO的方式,而我却经常这样写,所以很疑惑,难道这是反模式吗?
--------------------------------------------------------------------------------
Robbin 自己说过,他就是DAO跟Serivce层合并的。这个分层其实跟模式没有直接关系,主要还是架构问题。
比如你在系统中用spring的aop实现事务管理。事务管理绑定到Service层,而不是DAO层,事务组合就少一些问题。 但是如果,你在DAO里自己做事务处理,那Service层真的没啥必要。