分層開發遵守的原則:
在action中呼叫多個service好,還是呼叫乙個整合的service好呢?
解決方案:
應該是盡量呼叫乙個service,設計業務邏輯元件時你應該對外提供乙個完整的服務,比如要註冊乙個使用者,外對應該只提供乙個方法,
那麼驗證你註冊使用者是否存在的邏輯應該在這個服務中去判斷,而不應該你在action中先去呼叫判斷使用者是否存在的服務,不存在再去呼叫註冊的服務。
另一種情況就是要看你的事務從**開啟,一般從業務邏輯層開啟事務是最合理的,所以你的action如果要呼叫多個service,很難保證在乙個事務中。
設計總結
1、上層依賴於下層,依賴關係不跨層;
2、一切設計都從service層出發,作為乙個系統首先需要把握其業務。從系統需要提供的功能進行分析,來確定service介面中的方法,而不是從資料庫出發到dao和domain,再到service層。不要對系統分層產生了誤解,還是從最重要的功能來考慮的;
3、事務控制放到service中;
4、service層的設計,需要考慮控制service的數量,通常將乙個模組的服務放到乙個service中來處理,從service層往下看,介面逐漸增多;
5、服務層的實現依賴於領域活動。最核心的設計就是將系統中的實體劃分為領域模型,在此基礎上設計dao層,再把這些操作暴露給service層;
6、每乙個層中的介面都關注自己的那一塊,不能在乙個dao中隨意操作別的表,這樣只能讓專案更加難以維護。
osi開放系統分層
osi求助編輯百科名片osi是open system interconnect的縮寫,意為開放式系統互聯。國際標準組織 國際標準化組織 制定了osi模型。這個模型把網路通訊的工作分為7層,分別是物理層 資料鏈路層 網路層 傳輸層 會話層 表示層和應用層。目錄簡介 osi rm參考模型的提出 osi ...
android系統的日誌系統分層與logcat使用
android的日誌系統有典型的android層次結構。本文指出路徑,分析層次但不分析 這裡還介紹logcat的使用和log bg服務。想看 具體分析看部落格android應用程式框架層和系統執行庫層日誌系統源 分析。wzjdy.cc 1.先從驅動開始 linux 3.10 drivers stag...
docker檔案系統分層儲存原理
前言 眾所周知,docker映象技術的基礎是聯合檔案系統 unionfs 其檔案系統是分層的,那它的分層機制是什麼樣的呢?共分為幾種層呢?又是怎麼工作的呢?linux 中各發行版實現的 unionfs 各不相同,所以docker在不同 linux 發行版中使用的也不同。通過docker info 命...