1. 程式人生 > >mvc和三層架構之間的關係

mvc和三層架構之間的關係

1、dao層

dao層主要做資料持久層的工作,負責與資料庫進行聯絡的一些任務都封裝在此,dao層的設計首先是設計dao層的介面,然後在Spring的配置檔案中定義此介面的實現類,然後就可以再模組中呼叫此介面來進行資料業務的處理,而不用關心此介面的具體實現類是哪個類,顯得結構非常清晰,dao層的資料來源配置,以及有關資料庫連線引數都在Spring配置檔案中進行配置。

2、service層

service層主要負責業務模組的應用邏輯應用設計。同樣是首先設計介面,再設計其實現類,接著再Spring的配置檔案中配置其實現的關聯。這樣我們就可以在應用中呼叫service介面來進行業務處理。service層的業務實,具體要呼叫已經定義的dao層介面,封裝service層業務邏輯有利於通用的業務邏輯的獨立性和重複利用性。程式顯得非常簡潔。

3、controller層

controller層負責具體的業務模組流程的控制,在此層要呼叫service層的介面來控制業務流程,控制的配置也同樣是在Spring的配置檔案裡進行,針對具體的業務流程,會有不同的控制器。我們具體的設計過程可以將流程進行抽象歸納,設計出可以重複利用的子單元流程模組。這樣不僅使程式結構變得清晰,也大大減少了程式碼量。

4、view層

view層與控制層結合比較緊密,需要二者結合起來協同開發。view層主要負責前臺jsp頁面的顯示。

5、它們之間的關係:

Service層是建立在DAO層之上的,建立了DAO層後才可以建立Service層,而Service層又是在Controller層之下的,因而Service層應該既呼叫DAO層的介面,又要提供介面給Controller層的類來進行呼叫,它剛好處於一箇中間層的位置。每個模型都有一個Service介面,每個介面分別封裝各自的業務處理方法。

MVC:Model +view +Controller(資料模型層+檢視+控制器)

三層架構(Presentation tier +application tier +data tier(展現層+應用層+資料訪問層)

一般的邏輯是資料模型層屬於data tier,檢視層屬於展現層,控制器屬於應用層,但這樣的理解其實有些問題。

實際上mvc思想只是在展現層做了應用,應用層則是我們通常說的service層,DAO層則是資料訪問層,而同時我們經常碰到的實體類Entity實際上則是屬於資料訪問層,通過實體類,為DAO層的資料庫傳入資料提供一個容器,當然,DAO層還有些複雜的用法。

實體類是用於對必須儲存的資訊和相關

行為建模的類。實體物件(實體類的例項)用於儲存和更新一些現象的有關資訊,例如:事件、人員或者一些現實生活中的物件。實體類通常都是永久性的,它們所具有的屬性和關係是長期需要的,有時甚至在系統的整個生存期都需要。