




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、3p SOA設(shè)計(jì)理念,系統(tǒng)模塊之間松耦合p 組件化設(shè)計(jì)p 統(tǒng)一軟件開(kāi)發(fā)過(guò)程(RUP)p 迭代式開(kāi)發(fā)p 輕量化的架構(gòu)設(shè)計(jì) p 易于維護(hù)和擴(kuò)展3整體架構(gòu)框架及說(shuō)明45名詞釋義備注UIUser Interface 用戶接口前端頁(yè)面展現(xiàn)Action/Controller控制層UCCUser Case Controller,用例控制層Service服務(wù)層DAOData Access ObjectDB數(shù)據(jù)庫(kù)層VO用戶視圖對(duì)象BO業(yè)務(wù)對(duì)象視圖PO持久化對(duì)象視圖6nUI層是User Interface的縮寫(xiě),它是實(shí)現(xiàn)與用戶交互的終端部分,接受用戶的信息輸入,檢查用戶輸入的有效性,展示用戶查詢信息和其它的控制信
2、息n框架定型:jQueryn采用Ajax交互,提升用戶體驗(yàn);n優(yōu)秀的JavaScript框架;n瀏覽器兼容性較好;n文檔說(shuō)明較全,便于學(xué)習(xí)和傳承;n基于jQuery的前端開(kāi)源UI組件很多,根據(jù)實(shí)際情況再進(jìn)行選擇 6nAction層是UI層和UCC層的中間橋梁,負(fù)責(zé)承接UI層中FORM表單或Ajax提交的數(shù)據(jù),根據(jù)數(shù)據(jù)的屬性名自動(dòng)轉(zhuǎn)換成Action層中的VO對(duì)象;同時(shí)根據(jù)UCC層返回的業(yè)務(wù)數(shù)據(jù),確定頁(yè)面跳轉(zhuǎn)n框架定型:SpringMVCn零配置文件,開(kāi)發(fā)效率較高(基于注解的方式實(shí)現(xiàn)URL的映射);nspringmvc是方法級(jí)別的攔截,一個(gè)方法對(duì)應(yīng)一個(gè)request上下文,而方法同時(shí)又跟一個(gè)url
3、對(duì)應(yīng);而struts2是類(lèi)級(jí)別的攔截, 一個(gè)類(lèi)對(duì)應(yīng)一個(gè)request上下文;n程序可讀性強(qiáng),降低維護(hù)成本;n運(yùn)行效率較struts高;n安全性更高,所有的UI界面都放置在WEB-INF下;n非侵入式框架,集成性更好;n 6nUCC層是指Use Case Controller層,它負(fù)責(zé)從Action層接收單個(gè)BO數(shù)據(jù)或者BO的list集合。在UCC層根據(jù)業(yè)務(wù)邏輯,調(diào)用一個(gè)或多個(gè)service層的服務(wù),以便處理業(yè)務(wù)邏輯。同時(shí),Spring面向切面的事物管理可以定義該改級(jí)別,便于service的復(fù)用。n框架定型:Sping3n輕量級(jí)的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架;n通過(guò)切面的功能
4、,在UCC層實(shí)現(xiàn)事務(wù)的自動(dòng)開(kāi)啟和提交功能,如果運(yùn)行過(guò)程中碰到異常,則自動(dòng)回滾事務(wù),返回到Action層6n業(yè)務(wù)邏輯處理的重頭戲都必須落在Service層,它是業(yè)務(wù)處理的核心場(chǎng)所,包括與數(shù)據(jù)庫(kù)中已有數(shù)據(jù)的比對(duì)、校驗(yàn)、計(jì)算、轉(zhuǎn)換等工作。n框架定型:Sping3nService層與Ucc層一樣,統(tǒng)一由spring管理,繼續(xù)保持事務(wù)控制,持有數(shù)據(jù)庫(kù)連接。對(duì)于同一個(gè)Service中,如果存在多次DAO訪問(wèn),通過(guò)Spring的事務(wù)控制,則可以保證每次使用的是同一個(gè)連接,保證了數(shù)據(jù)庫(kù)的訪問(wèn)效率6nDAO是Data Access Object的縮寫(xiě),該層是數(shù)據(jù)訪問(wèn)的控制層,該層不涉及復(fù)雜的業(yè)務(wù)邏輯,主要負(fù)責(zé)將
5、接收到的PO對(duì)象根據(jù)MyBatis的配置信息,轉(zhuǎn)換成相應(yīng)的SQL語(yǔ)句,然后通過(guò)DB層,將數(shù)據(jù)持久化到數(shù)據(jù)庫(kù)中n框架定型:MyBatisn支持普通 SQL查詢、存儲(chǔ)過(guò)程和高級(jí)映射的優(yōu)秀持持久層框架;n消除了幾乎所有的JDBC代碼和參數(shù)的手工設(shè)置以及結(jié)果集的檢索;n使用簡(jiǎn)單的 XML或注解用于配置和原始映射,將接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java對(duì)象)映射成數(shù)據(jù)庫(kù)中的記錄;n按照項(xiàng)目開(kāi)發(fā)的規(guī)范要求,將所有的SQl語(yǔ)句統(tǒng)一到MyBatis的XML配置文件中,提高程序的可讀性和可維護(hù)性3值對(duì)象分類(lèi)說(shuō)明6n VO: View Object對(duì)象簡(jiǎn)稱(chēng)
6、VO對(duì)象,它是一個(gè)標(biāo)準(zhǔn)的POJO對(duì)象,目的是用于承接頁(yè)面提交到后臺(tái)的輸入值,構(gòu)建VO對(duì)象的基本原則是保證能夠承接所有的提交變量n BO: Bussiness Object對(duì)象簡(jiǎn)稱(chēng)BO對(duì)象,它是面向業(yè)務(wù)視圖的對(duì)象,用于處理業(yè)務(wù)邏輯的POJO對(duì)象,基于業(yè)務(wù)邏輯處理的需要。BO對(duì)象中的值來(lái)源于VO,也可能是業(yè)務(wù)計(jì)算的中間變量n PO: Persistant Object簡(jiǎn)稱(chēng)PO,它是面向數(shù)據(jù)持久化的對(duì)象視圖,一般情況每個(gè)PO對(duì)應(yīng)到數(shù)據(jù)庫(kù)中的一張單表3統(tǒng)一異常解決方案46nDAO層異常處理:一般情況下,DB層可能會(huì)拋出數(shù)據(jù)庫(kù)連接異?;騍QL語(yǔ)句執(zhí)行異常,在IbaseDao層,對(duì)于所有的異常均做Catc
7、h處理,封裝成Runtime模式的BizException后,繼續(xù)向上Thrown Service層異常處理: Service存在兩種類(lèi)型的Exceptionn一種是DAO層拋出的Runtime異常,Service層不對(duì)該類(lèi)異常做截獲或轉(zhuǎn)換處理,系統(tǒng)將自動(dòng)上返到UCC層n另一種異常時(shí)根據(jù)業(yè)務(wù)邏輯判斷,Service層可能會(huì)主動(dòng)throw BizException。例如查找數(shù)據(jù)為空的時(shí)候,可以通過(guò)拋出標(biāo)準(zhǔn)的異常,系統(tǒng)自動(dòng)在Action層捕獲,返回統(tǒng)一的提示信息到UI層進(jìn)行統(tǒng)一提示6nUCC層異常處理: UCC層存在兩種類(lèi)型的Exceptionn一種可能是從DAO層或Service層拋出的業(yè)務(wù)邏輯
8、;n另外一種可能是,UCC層中有少量的業(yè)務(wù)邏輯,如果存在業(yè)務(wù)邏輯的異常,系統(tǒng)繼續(xù)向上拋出Runtime模式的BizException;n系統(tǒng)調(diào)用UCC層,系統(tǒng)自動(dòng)開(kāi)啟事務(wù),在整個(gè)UCC調(diào)用的生命周期內(nèi),均覆蓋事務(wù),如果UCC層、Service層、DAO層拋出了異常,則UCC層自動(dòng)RollBack,否則自動(dòng)提交nAction層異常處理:Action層通過(guò)基類(lèi)的方式,自動(dòng)截獲所有異常,根據(jù)異常種類(lèi),返回json格式的異常提示信息。如果是業(yè)務(wù)異常,則通過(guò)ExceptionMappingHelpper類(lèi)動(dòng)態(tài)替換相關(guān)變量,拼接友好的用戶提示信息,拋出到UI層3開(kāi)發(fā)框架其它工具6n項(xiàng)目構(gòu)建管理工具: Maven3n優(yōu)秀的項(xiàng)目管理工具;n版本管理:SVNn應(yīng)用開(kāi)發(fā)結(jié)構(gòu)nUDMP:統(tǒng)一開(kāi)發(fā)管理平臺(tái),基礎(chǔ)框架及組件的開(kāi)發(fā)與維護(hù),例如工作流、批處理、短信、郵件等基礎(chǔ)組件或框架的開(kāi)發(fā)等,作為jar包引
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 屋面防水勞務(wù)分包合同
- 文化創(chuàng)意產(chǎn)業(yè)發(fā)展項(xiàng)目投資合同書(shū)
- 運(yùn)輸承包合同書(shū)
- 吸糞車(chē)租賃合同
- 買(mǎi)賣(mài)中介居間合同
- 民宿預(yù)訂合同
- 鉆機(jī)承包合同
- 武漢工程大學(xué)郵電與信息工程學(xué)院《運(yùn)動(dòng)康復(fù)治療技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 昆明衛(wèi)生職業(yè)學(xué)院《JavaWeb框架應(yīng)用開(kāi)發(fā)實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 永州師范高等專(zhuān)科學(xué)校《局部解剖學(xué)1》2023-2024學(xué)年第二學(xué)期期末試卷
- 光伏電纜橋架敷設(shè)施工方案
- 特殊學(xué)生心理健康檔案表
- 文山-硯山天然氣支線管道工程項(xiàng)目環(huán)境影響報(bào)告書(shū)
- 新選供應(yīng)商初期考察表模板
- 《煤礦安全規(guī)程》安全生產(chǎn)月考試題庫(kù)
- 2023春下冊(cè)五年級(jí)語(yǔ)文《每課生字預(yù)習(xí)表》
- 車(chē)間領(lǐng)班求職簡(jiǎn)歷
- 八年級(jí)下物理校本作業(yè)(人教版)課時(shí)作業(yè)
- 05G359-3 懸掛運(yùn)輸設(shè)備軌道(適用于一般混凝土梁)
- (完整版)《城市軌道交通應(yīng)急處理》課程標(biāo)準(zhǔn)
- 2023年江蘇農(nóng)牧科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)及答案解析
評(píng)論
0/150
提交評(píng)論