1. 程式人生 > >controller層和service層的作用

controller層和service層的作用

1.在controller和service裡都寫那些程式碼?

                  Controller,從字面上理解是控制器,所以它是負責業務排程的,所以在這一層應寫一些業務的排程程式碼,而具體的業務處理應放在service中去寫,而且service不單純是對於dao的增刪改查的呼叫,service是業務層,所以應該更切近於具體業務功能要求,所以在這一層,一個方法所體現的是一個可以對外提供的功能,比如購物商城中的生成訂單方法,這裡面就不簡單是增加個訂單記錄那麼簡單,我們需要查詢庫存,核對商品等一系列實際業務邏輯的處理;

 

              2.在整個專案中什麼時候加異常?異常怎麼處理?

              說到異常,我們應該回想下我們學習異常這一模組時,異常到底是什麼有什麼用?一直以來都覺得如果程式碼出現了異常是件讓我悲傷的事,因為它意味著我哪裡寫錯了,但是現在回想最初的認識都覺得有點好笑,"人,孰能無過",我所理解的異常只是我自己認為造成的錯誤,但殊不知實際中的異常情況是很多的,除了自身造成問題之外,伺服器down了,或者資料狀態發生改變,甚至斷網都可能造成異常,所以從另一方面,異常是服務於我們的,是為了我們更好的發現問題解決問題而存在的,在這裡,真的由衷的敬佩創造異常機制的前輩,他們過人的智慧真讓人望塵莫及~

              回到話題上,那麼實際中我們該怎麼做呢?個人覺得我們應該從底層的dao一直到action,應對每一層的程式碼進行基本的try-catch,有時根據業務需求可能要進行多個catch,由上至下依次捕獲從小到大的各種異常,一般對底層的異常應該往出拋,目的是要通知上一層也就是呼叫者出現了什麼問題,但是對於和使用者直接互動的前臺讓使用者看到後臺的這些異常資訊可是不妥的,所以我們需要將異常資訊轉換常用的友好提示給使用者,而對於異常資訊應記錄到日誌以便對問題進行分析解決。