軟件開發(fā)架構(gòu)平臺(tái)復(fù)習(xí)筆記

軟件開發(fā)架構(gòu)平臺(tái)復(fù)習(xí)筆記

ID:41984689

大小:190.00 KB

頁(yè)數(shù):14頁(yè)

時(shí)間:2019-09-05

軟件開發(fā)架構(gòu)平臺(tái)復(fù)習(xí)筆記_第1頁(yè)
軟件開發(fā)架構(gòu)平臺(tái)復(fù)習(xí)筆記_第2頁(yè)
軟件開發(fā)架構(gòu)平臺(tái)復(fù)習(xí)筆記_第3頁(yè)
軟件開發(fā)架構(gòu)平臺(tái)復(fù)習(xí)筆記_第4頁(yè)
軟件開發(fā)架構(gòu)平臺(tái)復(fù)習(xí)筆記_第5頁(yè)
資源描述:

《軟件開發(fā)架構(gòu)平臺(tái)復(fù)習(xí)筆記》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)

1、Modell和model2的區(qū)別Modell模式的實(shí)現(xiàn)比較簡(jiǎn)單,適用于快速開發(fā)小規(guī)模項(xiàng)目。但從工程化的角度看,它的局限性非常明顯:JSP頁(yè)面身兼View和Controller兩種角色,將控制邏輯和表現(xiàn)邏輯混雜在一起,從而導(dǎo)致代碼的重用性非常低,增加了應(yīng)用的擴(kuò)展性和維護(hù)的難度。Model2已經(jīng)是基于MVC架構(gòu)的設(shè)計(jì)模式。在model2架構(gòu)中,servlet作為前端控制器,負(fù)責(zé)接受客戶端發(fā)送的請(qǐng)求,在servlet中只包含控制邏輯和簡(jiǎn)單的前端處理;然后,調(diào)用后端的JavaBean來(lái)完成實(shí)際的邏輯處理;最后,轉(zhuǎn)發(fā)到相應(yīng)

2、的JSP頁(yè)面處理顯示邏輯。區(qū)別本質(zhì)區(qū)別在于處理批量請(qǐng)求的位置不同。Modell:結(jié)合JSP頁(yè)面和JavaBean來(lái)開發(fā)Web應(yīng)用程序。jsp頁(yè)面獨(dú)自響應(yīng)請(qǐng)求并將處理結(jié)果返回客戶端。這里仍然存在表達(dá)和內(nèi)容的分離,因?yàn)樗械臄?shù)據(jù)存取都是由bean完成的。缺點(diǎn):內(nèi)容和表示沒(méi)有完全解耦,jsp頁(yè)面內(nèi)被嵌入大量的腳本片段或java代碼Model2:把jsp和servlet聯(lián)合使用來(lái)實(shí)現(xiàn)動(dòng)態(tài)內(nèi)容服務(wù)的方法。servlet充當(dāng)控制者的角色,負(fù)責(zé)管理對(duì)請(qǐng)求的處理。清晰的分離了表達(dá)和內(nèi)容,明確了角色的定義以及開發(fā)者與網(wǎng)頁(yè)設(shè)計(jì)者的分

3、工。在struts2中,Model對(duì)應(yīng)業(yè)務(wù)邏輯組件,它通常用于實(shí)現(xiàn)業(yè)務(wù)邏輯方法以及以及與底層數(shù)據(jù)庫(kù)的交互等;View對(duì)應(yīng)視圖組件,通常是指JSP頁(yè)面,但也適用于英他視圖顯示技術(shù),如Velocity或者Excel文檔;Control對(duì)應(yīng)系統(tǒng)核心控制器和業(yè)務(wù)邏輯控制器,系統(tǒng)核心控制器為Struts2框架捉供的FilterDispatcher,它根據(jù)請(qǐng)求自動(dòng)調(diào)用相應(yīng)的Action<>而業(yè)務(wù)邏輯控制器是指開發(fā)人員自行定義的一系列Action,在Action屮負(fù)責(zé)調(diào)用相應(yīng)的業(yè)務(wù)邏輯組件來(lái)完成處理。Struts2的大致工作流

4、程可描述為:瀏覽器發(fā)送請(qǐng)求。Control屮的核心控制器FilterDispatcher根據(jù)請(qǐng)求調(diào)用相應(yīng)的業(yè)務(wù)邏輯控制器(Action)oWebWork的攔截器鏈自動(dòng)對(duì)請(qǐng)求應(yīng)用通用功能,如數(shù)據(jù)校驗(yàn)和文件上傳等功能。冋調(diào)Action中的executed方法,并在方法體內(nèi)調(diào)用業(yè)務(wù)邏輯組件來(lái)處理請(qǐng)求(Model)。execute。方法將調(diào)用業(yè)務(wù)邏輯組件(Model)得到的數(shù)據(jù)返還并更新視圖層(View)。什么是IOC什么時(shí)候用到IOCiocspring控制反轉(zhuǎn)…首先為什么要用ioc,以前做項(xiàng)目老是創(chuàng)建對(duì)象,而[=L多個(gè)

5、對(duì)象之間耦合對(duì)很高,維護(hù)的吋候要修改某個(gè)對(duì)象,卻級(jí)聯(lián)的要修改其他對(duì)象??ioc把對(duì)象的生命周期交給spring管理,使用配置文件映射的方式生成對(duì)彖.?利于維護(hù),減少耦合。缺點(diǎn):由于是映射生成對(duì)彖,速度比一般要慢大概2倍.所以使不使用是應(yīng)項(xiàng)目而異…IOC與AOPaop叫aspectorientedprogram,面向切面的編程ioc是invertofcontrol,反轉(zhuǎn)控制在springinaction那本書里有詳細(xì)闡述,簡(jiǎn)單說(shuō)一下,ioc就是其實(shí)就是依賴注入,即用接口編程,在程序屮不出現(xiàn)new關(guān)鍵字,而是用接口來(lái)

6、命名引用,然后通過(guò)某種方式(多數(shù)用spring,不過(guò)Googleguice也是很好的ioc框架)把接口的某個(gè)實(shí)現(xiàn)類的實(shí)例注入到引用里,從而實(shí)現(xiàn)與接口具體實(shí)現(xiàn)類的松耦合aop方式就理解起來(lái)就簡(jiǎn)單了,其方式很類似j2ee中的filter,就是在程序正常的業(yè)務(wù)流中間像切面一樣插入很多其他需要執(zhí)行的代碼,比如登陸時(shí)候在進(jìn)入登錄頁(yè)而前寫入FI志,登錄以后查看cookie等類似的操作,很常用的,尤其是跟數(shù)據(jù)庫(kù)有關(guān)的,或者跟支付有關(guān)的程序肯定會(huì)在每一步前血插入日志,還有某些國(guó)際化項(xiàng)目會(huì)在每次跳轉(zhuǎn)吋候都轉(zhuǎn)換字符集之類loC,(I

7、nverseofControl)控制反轉(zhuǎn),其包含兩個(gè)內(nèi)容:其一是控制,其二是反轉(zhuǎn)。在程序中,被調(diào)用類的選擇控制權(quán)從調(diào)用它的類中移除,轉(zhuǎn)交給第三方裁決。這個(gè)第三方指的就是Spring的容器oloC另解,依賴注入(DependencyInjection),調(diào)用類對(duì)被調(diào)用類的依賴關(guān)系由笫三方注入,以移除調(diào)用類對(duì)被調(diào)用類的引用。aop,而向切而編程(也叫面向方面):AspectOrientedProgramming(AOP),是目前軟件開發(fā)屮的一個(gè)熱點(diǎn),也是Spring框架中的一個(gè)重要內(nèi)容。利用AOP可以對(duì)業(yè)務(wù)邏輯的各個(gè)

8、部分進(jìn)行隔離,從而使得業(yè)務(wù)邏輯各部分之間的耦合度降低,提高程序的可重用性,同吋提高了開發(fā)的效率。AOP是OOP的延續(xù),是(AspectOrientedProgramming)的縮寫,意思是面向切面(方面)編程。主要的功能是:口志記錄,性能統(tǒng)計(jì),安全控制,事務(wù)處理,異常處理等等。主要的意圖是:將日志記錄,性能統(tǒng)計(jì),安全控制,事務(wù)處理,異常處理等代碼從業(yè)務(wù)邏輯代碼屮劃分出來(lái),

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。