1. DAO的職責(zé)就是增刪改查,不該有多余的邏輯。這個(gè)問題其實(shí)我碰到過很多人寫的代碼和接口的設(shè)計(jì)都非常不合理。我個(gè)人有一個(gè)標(biāo)準(zhǔn),你可以參考一下,如果用Hibernate的話,DAO的實(shí)現(xiàn)代碼絕不會(huì)超過15行,至少我現(xiàn)在的DAO就是這樣的。DAO互相調(diào)用?這是絕對(duì)不可能的,除非你設(shè)計(jì)有問題。
2. Service層的職責(zé)就是實(shí)現(xiàn)具體的業(yè)務(wù)操作。我不認(rèn)為Service之間有必要相互調(diào)用,至少目前我還沒有碰到過有必要互相調(diào)用的情況,我認(rèn)為良好的設(shè)計(jì)也是可以避免這一點(diǎn)的。
3. 配置文件多使用autowire就可以變得異常簡單,除非你認(rèn)為autowire會(huì)影響性能。
4. 看實(shí)際情況,我Facade有時(shí)候是個(gè)好主意,不過我還沒有使用過,Service接口直接暴露給Action層。