spring service 層呼叫service 層是否合理
阿新 • • 發佈:2019-02-12
對於模組劃分,我的觀點始終是看專案的規模,團隊的規模。
如果1、2個人開發的,模組很容易劃分,基本上都是縱向劃分(一個模組的前端、action、service、orm都是一個人開發),這樣劃分,隨便你怎麼呼叫,只要不影響後期維護,不影響效能,都不會出現太大問題。
如果是多人協作的專案,規模比較大,你的service如果呼叫你自己的多個dao,你自己清楚,也沒有太大問題,如果你呼叫不是你負責的業務模組呢(模組交叉引用),難道你直接呼叫別人的dao麼?退一步說,如果是簡單的增刪改查,對單表操作,直接呼叫別人的dao也行,如果複雜點的呢?
所以,在多人開發的團隊專案中,模組與模組之間都是以service暴露服務的。
我覺得service呼叫service是合理的,我專案中也在使用.
理由是:service是對外提供的業務的操作,它遮蔽了資料庫訪問.當某個業務依賴其它業務時,反映到程式中就是service呼叫service,而不是service呼叫dao.這樣做的好處是隻關心service會被外部呼叫,盡全力把service維護好,至於dao是怎樣的,不用對外暴露.如果把dao給其它service訪問,那麼關注點將會分散給dao,導致兩頭維護.
以上個人意見.