MVC中的的dao層、service層和controller層


做畢業設計,來鞏固一下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接口,每個接口分別封裝各自的業務處理方法。 

 

DAO層,Service層這兩個層次都可以單獨開發,互相的耦合度很低,完全可以獨立進行,這樣的一種模式在開發大項目的過程中尤其有優勢,Controller,View層因為耦合度比較高,因而要結合在一起開發,但是也可以看作一個整體獨立於前兩個層進行開發。這樣,在層與層之前我們只需要知道接口的定義,調用接口即可完成所需要的邏輯單元應用,一切顯得非常清晰簡單。

 

 

DAO層所定義的接口里的方法都大同小異,這是由我們在DAO層對數據庫訪問的操作來決定的,對數據庫的操作,我們基本要用到的就是新增,更新,刪除,查詢等方法。因而DAO層里面基本上都應該要涵蓋這些方法對應的操作。除此之外,可以定義一些自定義的特殊的對數據庫訪問的方法。 

 

 

項目當中的各個對象的調用流程如下:

JSP頁面 —— Action —— Service —— DAO —— (Hibernate框架) —— 數據庫

 

打個比方來說的話,JSP就像是飯店中的顧客;Action是服務員,顧客點什么菜,給顧客端菜都由它負責;Service是廚師,Action送來的菜單上的菜都是它做的;而DAO是廚房中的小工,幫忙洗菜摘菜等和原材料打交道都是它干。

想的時候是:前端---action---service---dao---database
寫代碼的時候是:database---dao---service---action/前端

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM