freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

spring中aop技術(shù)基礎(chǔ)-資料下載頁(yè)

2024-11-17 15:57本頁(yè)面

【導(dǎo)讀】的研究人員就對(duì)面向?qū)ο笏枷氲木窒扌赃M(jìn)行了分析。他們研究出了一種新的編程思想,借助這一。思想或許可以通過減少代碼重復(fù)模塊從而幫助開發(fā)人員提高工作效率。隨著研究的逐漸深入,AOP技術(shù)在Java平臺(tái)下是最先得到應(yīng)用的。就在PARC對(duì)于面向方面編程進(jìn)行研究的同時(shí),美。工作,并提供了科研經(jīng)費(fèi),鼓勵(lì)將二者的工作成果結(jié)合起來。展系統(tǒng),使開發(fā)者可以方便的進(jìn)行面向方面的開發(fā),這套擴(kuò)展系統(tǒng)被稱為AspectJ。在2020年被轉(zhuǎn)讓給EclipseFoundation,從而成為在開源社區(qū)中AOP技術(shù)的先鋒,也是目前最為。AspectWerkz則是基于Java的動(dòng)態(tài)的、輕量級(jí)AOP框架。AspectWerkz仍然是開源社區(qū)中的產(chǎn)。品,由BEASystem提供贊助,開發(fā)者則是BEA的兩名員工JonasBonér和AlexandreVasseur。2020年1月,AspectJ和AspectWerkz達(dá)成協(xié)議,同意將二者的成。他們合作的第一個(gè)發(fā)布版本為AspectJ5,它擴(kuò)。也為Java5的語言特性提供完全的AOP支持。,是在2020年10月發(fā)布的。但該觀點(diǎn)并未得到一致的認(rèn)同。Aspect#于2020年6月被收錄為Castle的其中一個(gè)子項(xiàng)目。響了多個(gè)類的公共行為封裝到一個(gè)可重用模塊,并將其名為“Aspect”,即方面。

  

【正文】 的類 MailAdapter,該類實(shí)現(xiàn)了 IValidatable 接口,同時(shí)繼承了 Mail類: public class MailAdapter:Mail,IValidatable { public bool ValidateAddress() { if(() != null) { return true。 } else { return false。 } } } 通過引入 MailAdapter類,原來 Mail對(duì)象完成的操作,將全部被 MailAdapter 對(duì)象取代。然而,此種實(shí)現(xiàn)方式雖然能解決引入新接口的問題, 但類似下面的代碼,卻是無法編譯通過的: Mail mail = new Mail()。 IValidatable validate = ((IValidatable)mail).ValidateAddress()。 必須將第一行代碼作如下修改: Mail mail = new MailAdapter()。 利用 AOP 的靜態(tài)橫切技術(shù),可以將 IValidatable 接口織入到原有的 Mail類中,這是一種非常形象的 introduce 功能,其實(shí)現(xiàn)仍然是在 aspect中完成: import 。 public aspect MailValidateAspect { declare parents: Mail implements IValidatable。 public boolean () { if(() != null) { return true。 } else { return false。 } } } 靜態(tài)橫切的方法,并沒有引入類似 MailAdapter 的新類,而是通過定義的 MailValidateAspect 方面,利用橫切技術(shù)為 Mail類 introduce了新的方法 ValidateAddress(),從而實(shí)現(xiàn)了 Mail的擴(kuò)展。因此如下的代碼完全可行。 Mail mail = new Mail()。 IValidatable validate = ((IValidatable)mail).ValidateAddress()。 AOP 技術(shù)的優(yōu)勢(shì) AOP 技術(shù)的優(yōu)勢(shì)是顯而易見的。在面向?qū)ο蟮氖澜缋?,人們提出了各種方法和設(shè)計(jì)原則來保障系統(tǒng)的可復(fù)用性與可擴(kuò)展性,以期建立一個(gè)松散耦合、便于擴(kuò)展的軟件系統(tǒng)。例如 GOF提出的 “設(shè)計(jì)模式 ”,為我們提供了設(shè)計(jì)的典范與準(zhǔn)則。設(shè)計(jì)模式通過最大程度的利用面向?qū)ο蟮奶匦?,諸如利用繼承、多態(tài),對(duì)責(zé)任進(jìn)行分離、對(duì)依賴進(jìn)行倒置,面向抽象,面向接口,最終設(shè)計(jì)出靈活、可擴(kuò)展、可重用的類庫(kù)、組件,乃至于整個(gè)系統(tǒng)的架構(gòu)。在設(shè)計(jì)的過程中,通過各種模式體現(xiàn)對(duì)象的行為、暴露的接口、對(duì)象間關(guān)系、以及對(duì)象分別在不同層次中表 現(xiàn)出來的形態(tài)。然而鑒于對(duì)象封裝的特殊性, “設(shè)計(jì)模式 ”的觸角始終在接口與抽象中大做文章,而對(duì)于對(duì)象內(nèi)部則無能為力。 通過 “橫切 ”技術(shù), AOP 技術(shù)就能深入到對(duì)象內(nèi)部翻云覆雨,截取方法之間傳遞的消息為我所用。由于將核心關(guān)注點(diǎn)與橫切關(guān)注點(diǎn)完全隔離,使得我們能夠獨(dú)立的對(duì) “方面 ”編程。它允許開發(fā)者動(dòng)態(tài)地修改靜態(tài)的 OO模型,構(gòu)造出一個(gè)能夠不斷增長(zhǎng)以滿足新增需求的系統(tǒng),就象現(xiàn)實(shí)世界中的對(duì)象會(huì)在其生命周期中不斷改變自身,應(yīng)用程序也可以在發(fā)展中擁有新的功能。 設(shè)計(jì)軟件系統(tǒng)時(shí)應(yīng)用 AOP 技術(shù),其優(yōu)勢(shì)在于: (一)在定義應(yīng)用程序?qū)δ?種服務(wù)(例如日志)的所有需求的時(shí)候。通過識(shí)別關(guān)注點(diǎn),使得該服務(wù)能夠被更好的定義,更好的被編寫代碼,并獲得更多的功能。這種方式還能夠處理在代碼涉及到多個(gè)功能的時(shí)候所出現(xiàn)的問題,例如改變某一個(gè)功能可能會(huì)影響到其它的功能,在 AOP中把這樣的麻煩稱之為 “糾結(jié)( tangling) ”。 (二)利用 AOP 技術(shù)對(duì)離散的方面進(jìn)行的分析將有助于為開發(fā)團(tuán)隊(duì)指定一位精于該項(xiàng)工作的專家。負(fù)責(zé)這項(xiàng)工作的最佳人選將可以有效利用自己的相關(guān)技能和經(jīng)驗(yàn)。 (三)持久性。標(biāo)準(zhǔn)的面向?qū)ο蟮捻?xiàng)目開發(fā)中,不同的開發(fā)人員通常會(huì)為某項(xiàng)服務(wù)編寫相同的代碼, 例如日志記錄。隨后他們會(huì)在自己的實(shí)施中分別對(duì)日志進(jìn)行處理以滿足不同單個(gè)對(duì)象的需求。而通過創(chuàng)建一段單獨(dú)的代碼片段, AOP 提供了解決這一問題的持久簡(jiǎn)單的方案,這一方案強(qiáng)調(diào)了未來功能的重用性和易維護(hù)性:不需要在整個(gè)應(yīng)用程序中一遍遍重新編寫日志代碼, AOP 使得僅僅編寫日志方面( logging aspect)成為可能,并且可以在這之上為整個(gè)應(yīng)用程序提供新的功能。 總而言之, AOP 技術(shù)的優(yōu)勢(shì)使得需要編寫的代碼量大大縮減,節(jié)省了時(shí)間,控制了開發(fā)成本。同時(shí)也使得開發(fā)人員可以集中關(guān)注于系統(tǒng)的核心商業(yè)邏輯。此外,它更利于創(chuàng)建松 散耦合、可復(fù)用與可擴(kuò)展的大型軟件系統(tǒng)。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1