下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Postedon2011-11-0809:52陳小東閱讀(316)評(píng)論(0)編輯收藏隨著Web應(yīng)用的商業(yè)邏輯包含逐漸復(fù)雜的公式分析計(jì)算、決策支持等,使客戶機(jī)越來越不堪重負(fù),因此將系統(tǒng)的商業(yè)分離出來。單獨(dú)形成一部分,這樣三層結(jié)構(gòu)產(chǎn)生了。其中‘層'是邏輯上的劃分。三層體系結(jié)構(gòu)是將整個(gè)系統(tǒng)劃分為如圖2.1所示的結(jié)構(gòu)[3]rfliSrfliS(1) 表現(xiàn)層(Presentationlayer):包含表示代碼、用戶交互GUI、數(shù)據(jù)驗(yàn)證。該層用于向客戶端用戶提供GUI交互,它允許用戶在顯示系統(tǒng)中輸入和編輯數(shù)據(jù),同時(shí)系統(tǒng)提供數(shù)據(jù)驗(yàn)證功能。(2) 業(yè)務(wù)邏輯層(Businesslayer):包含業(yè)務(wù)規(guī)則處理代碼,即程序中與業(yè)務(wù)相關(guān)專業(yè)算法、業(yè)務(wù)政策等等。該層用于執(zhí)行業(yè)務(wù)流程和制訂數(shù)據(jù)的業(yè)務(wù)規(guī)則。業(yè)務(wù)邏輯層主要面向業(yè)務(wù)應(yīng)用,為表示層提供業(yè)務(wù)服務(wù)。(3) 數(shù)據(jù)持久層(Persistencelayer):包含數(shù)據(jù)處理代碼和數(shù)據(jù)存儲(chǔ)代碼。數(shù)據(jù)持久層主要包括數(shù)據(jù)存取服務(wù),負(fù)責(zé)與數(shù)據(jù)庫管理系統(tǒng)(如數(shù)據(jù)庫)之間的通信。三個(gè)層次的每一層在處理程序上有各自明確的任務(wù),在功能實(shí)現(xiàn)上有清晰的區(qū)分,各層與其余層分離,但各層之間存有通信接口。采用三層軟件設(shè)計(jì)架構(gòu)后,軟件系統(tǒng)在可擴(kuò)展性和可復(fù)用性方面得到極大提高,在資源分配策略設(shè)計(jì)合理運(yùn)用的同時(shí),軟件的性能指標(biāo)也得到提升,系統(tǒng)的安全性和易管東北理性也得到改善。三層體系結(jié)構(gòu)對(duì)Web應(yīng)用的軟件架構(gòu)產(chǎn)生很大影響,促進(jìn)了基于組件的設(shè)計(jì)思想,產(chǎn)生了許多開發(fā)Web層次框架的實(shí)現(xiàn)技術(shù)。較之兩級(jí)結(jié)構(gòu)來說,三層結(jié)構(gòu)修改和維護(hù)上更加方便。目前開發(fā)B/S結(jié)構(gòu)的Web應(yīng)用系統(tǒng)廣泛采用這種三層體系結(jié)構(gòu)。設(shè)計(jì)模式起源:1994年,由ErichGamma,RichardHelm,RalphJohnson和JohnVlissides(即所謂的“四人幫',GoF:GangofFour)合作的以《設(shè)計(jì)模式:可復(fù)用的面向?qū)ο筌浖幕驹怼窞轭}目的書藉出版了。這本書解釋了模式的用處,同時(shí)也使得設(shè)計(jì)模式得到廣泛普及。在書中,他們四人記錄了他們長期工作中發(fā)現(xiàn)的經(jīng)典23個(gè)設(shè)計(jì)模式。IoC模式IoC模式是ApachAvalon項(xiàng)目創(chuàng)始人之一StefanoMazzocchi提出的一種代碼調(diào)用模式,后被MartinFowlcr改名為DependencyInjection(依賴注入),也就是將類和類,方法和方法之間的關(guān)系通過第三方(如配置文件)進(jìn)行“注入”,不需要類或者方法自己去解決彼此間的調(diào)用關(guān)系。IoC(InversionofControl,控制反轉(zhuǎn)),是一種用來解決組件(也可以是簡單的Java類)之間依賴關(guān)系、配置及生命周期的設(shè)計(jì)模式,它可以解決模塊間的耦合問題。IoC模式它是把組件之間的依賴關(guān)系提?。ǚ崔D(zhuǎn))出來,由容器來具體配置。這樣,各個(gè)組件之間就不存在代碼關(guān)聯(lián),解決了調(diào)用方與被調(diào)用方之間的關(guān)系問題,任何組件都可以最大程度的得到重用。IoC模式實(shí)現(xiàn)的技術(shù)途徑表2.1列舉出了IoC的三種實(shí)現(xiàn)方式。本文中設(shè)計(jì)并實(shí)現(xiàn)的服務(wù)器端數(shù)據(jù)驗(yàn)證組件就是采用了第一種類型的IoC實(shí)現(xiàn)方式。MVC模式:MVC是Model-View-Control的簡稱,即模型-視圖-控制器。它是一個(gè)存在于服務(wù)器表達(dá)層的模型,它將應(yīng)用分開,改變應(yīng)用之間的高度耦合。MVC是在20世紀(jì)80年代發(fā)明的一種軟件設(shè)計(jì)模式,至今已被廣泛使用,最近幾年被推薦為Sun公司J2EE平臺(tái)的設(shè)計(jì)模式。MVC模式結(jié)構(gòu)MVC模式將應(yīng)用分為模型、視圖和控制器三個(gè)部分:視圖:數(shù)據(jù)的展現(xiàn)。視圖是用戶看到并與之交互的界面。視圖向用戶顯示相關(guān)的數(shù)據(jù),并能接收用戶的輸入數(shù)據(jù),但是它并不進(jìn)行任何實(shí)際的業(yè)務(wù)處理。視圖可以向模型查詢業(yè)務(wù)狀態(tài),但不能改變模型。視圖還能接受模型發(fā)出的數(shù)據(jù)更新事件,從而對(duì)用戶界面進(jìn)行同步更新。模型:應(yīng)用對(duì)象。模型是應(yīng)用程序的主體部分。模型代表了業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)邏輯;當(dāng)數(shù)據(jù)發(fā)生改變時(shí),它要負(fù)責(zé)通知視圖部分;一個(gè)模型能為多個(gè)視圖提供數(shù)據(jù)。由于同一個(gè)模型可以被多個(gè)視圖重用,所以提高了應(yīng)用的可重用性??刂破鳎哼壿嬏幚怼⒖刂茖?shí)體數(shù)據(jù)在視圖上展示、調(diào)用模型處理業(yè)務(wù)請(qǐng)求。當(dāng)Web用戶單擊Web頁面中的提交按鈕來發(fā)送HTML表單時(shí),控制器接收請(qǐng)求并調(diào)用相應(yīng)的模型組件去處理請(qǐng)求,然后調(diào)用相應(yīng)的視圖來顯示模型返回的數(shù)據(jù)。MVC模式運(yùn)行機(jī)制di-斗■?■■■11VfthlEr購ri心+-— .fiddlR勺厲AU詫拆址砧如圖2.2所示為MVC模式運(yùn)行機(jī)制:在MVC模式中,Web用戶向服務(wù)器提交的所有請(qǐng)求都由控制器接管。接受到請(qǐng)求之后,控制器負(fù)責(zé)決定應(yīng)該調(diào)用哪個(gè)模型來進(jìn)行處理;然后模型根據(jù)用戶請(qǐng)求進(jìn)行相應(yīng)的業(yè)務(wù)邏輯處理,并返回?cái)?shù)據(jù);最后控制器調(diào)用相應(yīng)的視圖來格式化模型返回的數(shù)據(jù),并通過視圖呈現(xiàn)給用戶??蚣苘浖_發(fā)越來越倚重框架的使用??蚣芸梢钥s短應(yīng)用軟件系統(tǒng)的開發(fā)周期,提高軟件生產(chǎn)效率和質(zhì)量。大大簡化了開發(fā)。選擇何種框架、每個(gè)框架如何應(yīng)用在在系統(tǒng)架構(gòu)中是軟件架構(gòu)設(shè)計(jì)的重要環(huán)節(jié)。框架的定義在設(shè)計(jì)模式中,Gamma等人為框架給出了一個(gè)明確定義:“框架(Framework)是一組協(xié)同工作的類,它們?yōu)樘囟愋偷能浖?gòu)筑了一個(gè)可重用的設(shè)計(jì)'。框架是一組為相互協(xié)作的構(gòu)件(Component)的集合,它能夠處理一個(gè)或多個(gè)問題域(Domain)中的一系列問題??蚣軓?qiáng)調(diào)的是軟件設(shè)計(jì)的重用性和系統(tǒng)的可擴(kuò)充性。它是為了追求重用所帶來的價(jià)值量最大化,而將被重用最多的部分封裝成各個(gè)組件,輔以回調(diào)機(jī)制將它們納入框架的控制范圍之內(nèi)。所以,框架提供了可在應(yīng)用程序之間共享的可復(fù)用的公共結(jié)構(gòu)??蚣艿奶匦钥蚣馨韵聨讉€(gè)關(guān)鍵特性:/r
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 新版飲用水合同協(xié)議書3篇
- 常年性勞務(wù)代理協(xié)議3篇
- 工程培訓(xùn)設(shè)計(jì)與施工合同3篇
- 教育培訓(xùn)策劃導(dǎo)游勞動(dòng)合同樣本3篇
- 電商運(yùn)營人員聘用合同書
- 演播室隔音墻施工協(xié)議
- 裝修合同施工范本
- 礦井排水防澇系統(tǒng)拉管施工合同
- 設(shè)備購買協(xié)議解除協(xié)議
- 印刷行業(yè)會(huì)計(jì)招聘協(xié)議樣本
- 數(shù)學(xué)文化欣賞
- 脊柱區(qū)1教學(xué)講解課件
- KK5-冷切鋸操作手冊(cè)-20151124
- 國際金融課后習(xí)題答案(吳志明第五版)第1-9章
- 《基于杜邦分析法周大福珠寶企業(yè)盈利能力分析報(bào)告(6400字)》
- 全國英語等級(jí)考試三級(jí)全真模擬試題二-2023修改整理
- 02R112 拱頂油罐圖集
- GB/T 25344-2010中華人民共和國鐵路線路名稱代碼
- GB/T 1885-1998石油計(jì)量表
- GB/T 13793-2016直縫電焊鋼管
- 積分系統(tǒng)-詳細(xì)設(shè)計(jì)說明書-v1.1
評(píng)論
0/150
提交評(píng)論