[轉]DAO層,Service層,Controller層、View層

來源:互聯網
上載者:User

標籤:

來自:http://jonsion.javaeye.com/blog/592335

DAO層

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

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

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

View層 此層與控制層結合比較緊密,需要二者結合起來協同工發。View層主要負責前台jsp頁面的表示, 


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

DAO設計的總體規劃需要和設計的表,和實作類別之間一一對應。 
 DAO層所定義的介面裡的方法都大同小異,這是由我們在DAO層對資料庫訪問的操作來決定的,對資料庫的操作,我們基本要用到的就是新增,更新,刪除,查詢等方法。因而DAO層裡面基本上都應該要涵蓋這些方法對應的操作。除此之外,可以定義一些自訂的特殊的對資料庫訪問的方法。 

Service邏輯層設計 

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

在DAO層定義的一些方法,在Service層並沒有使用,那為什麼還要在DAO層進行定義呢?這是由我們定義的需求邏輯所決定的。DAO層的操作 經過抽象後基本上都是通用的,因而我們在定義DAO層的時候可以將相關的方法定義完畢,這樣的好處是在對Service進行擴充的時候不需要再對DAO層進行修改,提高了程式的可擴充性。

[轉]DAO層,Service層,Controller層、View層

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.