SSH框架——(二)四层结构:DAO,Service,Controller,View层
1. DAO層:
主要任務(wù):做數(shù)據(jù)持久層的工作,負(fù)責(zé)與數(shù)據(jù)庫進(jìn)行聯(lián)絡(luò)的一些任務(wù)都封裝在此。
DAO層的設(shè)計(jì):首先是設(shè)計(jì)DAO層的接口,然后再Spring的配置文件中定義此接口的實(shí)現(xiàn)類,然后就可以在模塊中調(diào)用此接口來進(jìn)行數(shù)據(jù)業(yè)務(wù)的處理,而不用關(guān)心此接口的具體實(shí)現(xiàn)類是哪一個(gè),顯得結(jié)構(gòu)非常清晰。DAO設(shè)計(jì)的總體規(guī)劃需要和設(shè)計(jì)的表,和實(shí)現(xiàn)類之間一一對(duì)應(yīng)。
DAO層所定義的接口里的方法,主要是增添改查,以及一些自定義的特殊的對(duì)數(shù)據(jù)庫訪問的方法。
配置:DAO層的數(shù)據(jù)源配置,以及有關(guān)數(shù)據(jù)庫連接的參數(shù)都在Spring的配置文件中進(jìn)行配置。
2. Service層
主要任務(wù):負(fù)責(zé)業(yè)務(wù)模塊的邏輯應(yīng)用設(shè)計(jì)
Service層的設(shè)計(jì):首先設(shè)計(jì)接口,再設(shè)計(jì)實(shí)現(xiàn)的類,接著在Spring的配置文件中配置起實(shí)現(xiàn)的關(guān)聯(lián)。
優(yōu)點(diǎn):封裝Service層的業(yè)務(wù)邏輯有利于通用的業(yè)務(wù)邏輯的獨(dú)立性和重復(fù)利用性,程序顯得非常簡(jiǎn)潔。
3. Controller層
主要任務(wù):負(fù)責(zé)具體的業(yè)務(wù)模塊流程的控制,在此層里要調(diào)用Service層的接口來控制業(yè)務(wù)流程。
配置:控制的配置也同樣在Spring的配置文件中。
具體實(shí)現(xiàn):針對(duì)具體的業(yè)務(wù)流程,會(huì)有不同的控制器,我們具體的設(shè)計(jì)過程中可以將流程進(jìn)行抽象歸納,設(shè)計(jì)出可以重復(fù)利用的子單元流程模塊,這樣不僅使得成句結(jié)構(gòu)變得清晰,也大大減少了代碼量。
4. View層
主要任務(wù):View層與Controller層接口緊密,需要系統(tǒng)開發(fā)。View層主要負(fù)責(zé)前臺(tái)JSP頁面的表示。
概述而言:DAO層和Service層可以單獨(dú)開發(fā),互相的耦合度很低,可以完全獨(dú)立進(jìn)行,這樣的一種模式在開發(fā)大項(xiàng)目中尤其有有事。Controller和View層耦合度較高,因此要結(jié)合在一起開發(fā),但是也可以看做一個(gè)整體獨(dú)立于前兩個(gè)層進(jìn)行開發(fā)。這樣,在層與層之間,我們只需要接口的定義,調(diào)用接口即可完成所需要的邏輯單元應(yīng)用。
Service層是建立在DAO層之上的,建立了DAO層后才可以建立Service層,而Service層又在Controller層之下的,因而Service層應(yīng)該既調(diào)用DAO層的接口,又要提供接口給Controller層的類來進(jìn)行調(diào)用,它剛好處于一個(gè)中間層的位置。每個(gè)模型都有一個(gè)Service接口,每個(gè)接口分別封裝各自的業(yè)務(wù)處理方法。
在DAO層定義的一些方法,在Service層并沒有使用,那為什么還要在DAO層進(jìn)行定義呢?這是由我們定義的需求邏輯所決定的。DAO層的操作經(jīng)過抽象后基本上都是通用的,因而我們?cè)诙xDAO層的時(shí)候可以將相關(guān)的方法定義完畢,這樣的好處是在對(duì)Service進(jìn)行擴(kuò)展的時(shí)候不需要再對(duì)DAO層進(jìn)行修改,提高了程序的可擴(kuò)展性。
總結(jié)
以上是生活随笔為你收集整理的SSH框架——(二)四层结构:DAO,Service,Controller,View层的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 应用号
- 下一篇: 10款最流行的开源Web设计工具(有用没