1. 程式人生 > >Spring 初次理解MVC 的controller和Service

Spring 初次理解MVC 的controller和Service

我們都知道,標準主流現在的程式設計方式都是採用MVC綜合設計模式,MVC本身不屬於設計模式的一種,它描述的是一種結構,最終目的達到解耦,解耦說的意思是你更改某一層程式碼,不會影響我其他層程式碼,

controller層:可以看做是view和Model之間進行溝通的橋樑,可以分發使用者的請求,並選擇恰當的檢視以用於顯示,同時可以解釋使用者的輸入並對映為模型層可以執行的操作。

控制器Controller 負責處理由DispatcherServlet 分發的請求,它把使用者請求的資料經過業務處理層處理之後封裝成一個Model ,然後再把該Model 返回給對應的View 進行展示。

service層:在接觸Spring框架時會了解到面向介面程式設計,表示層呼叫控制層,控制層呼叫業務層,業務層呼叫資料訪問層

初期也許都是new物件去呼叫下一層,比如你在業務層new一個DAO類的物件,呼叫DAO類方法訪問資料庫,這樣寫是不對的,因為在業務層中是不應該含有具體物件,最多隻能有引用,如果有具體物件存在,就耦合了。當那個物件不存在,我還要修改業務的程式碼,這不符合邏輯。

接下來說service的意義,其實因為你做的練習分層次不是那麼嚴格,在一個練習中業務本身也少,舉個最簡單的例子,你做一個分頁的功能,資料1000條,你20條在一個頁,你可以把這個功能寫成工具類封裝起來,然後在業務層裡呼叫這個封裝的方法,這才是業務裡真正幹得事,只要沒訪問資料庫的,都要在業務裡寫。

理解圖示如下:

                            

 

第一次寫部落格,如有不足之處請指出。