(四)阿里巴巴JAVA程式設計規範之工程規約
開放介面層:可直接封裝Service介面暴露成RPC介面;通過Web封裝成http介面;閘道器控制層等。終端顯示層:各個端的模板渲染並執行顯示層。當前主要是velocity渲染,JS渲染,JSP渲染,移動端展示層等。
·Web層:主要是對訪問控制進行轉發,各類基本引數校驗,或者不復用的業務簡單處理等。
·Service層:相對具體的業務邏輯服務層。
·Manager層:通用業務處理層,它有如下特徵:
1)對第三方平臺封裝的層,預處理返回結果及轉化異常資訊;
2)對Service層通用能力的下沉,如快取方案、中介軟體通用處理;
3)與DAO層互動,對DAO的業務通用能力的封裝。
·DAO層:資料訪問層,與底層
·外部介面或第三方平臺:包括其它部門RPC開放介面,基礎平臺,其它公司的HTTP介面。
2. 【參考】(分層異常處理規約)在DAO層,產生的異常型別有很多,無法用細粒度異常進行catch,使用catch(Exception
e)方式,並throw new DaoException(e),不需要
列印日誌,因為日誌在Manager/Service層一定需要捕獲並打到日誌檔案中去,如果同臺伺服器再打日誌,浪費效能和儲存。在Service層出現異常時,必須記錄日誌資訊到磁碟,儘可能帶上引數資訊,相當於保護案發現場。如果Manager層與
3. 【參考】分層領域模型規約:
·DO(Data Object):與資料庫表結構一一對應,通過DAO層向上傳輸資料來源物件。
·DTO(Data Transfer Object):資料傳輸物件,Service和Manager向外傳輸的物件。
·BO(Business Object
·QUERY:資料查詢物件,各層接收上層的查詢請求。注:超過2個引數的查詢封裝,禁止使用Map類來傳輸。
·VO(View Object):顯示層物件,通常是Web向模板渲染引擎層傳輸的物件。