1. aspectJ是什么?
AspectJ 是對(duì)java編程語(yǔ)言簡(jiǎn)單且實(shí)用的擴(kuò)展,它增加了Java面向方面編程(AOP)的能力。AOP允許開發(fā)人員 從跨越模塊化的自然單元的關(guān)注中獲得(to reap)模塊化的好處。簡(jiǎn)單的來(lái)說(shuō),就是AOP允許開發(fā)人員,在不改變?cè)心K的邏輯基礎(chǔ)上,增加業(yè)務(wù)邏輯處理。在像Java這樣的面向?qū)ο蟪绦蛑校匀粏卧K指的是類。而在AspectJ中,方面可以使(屬于某一個(gè)類的)影響不止一個(gè)類的關(guān)注點(diǎn)模塊化。 實(shí)際開發(fā)中,開發(fā)者可以使用AspectJ編譯器,(提供了一個(gè)小的(<100K)運(yùn)行時(shí)庫(kù),可能要求使用支持的開發(fā)環(huán)境)編譯程序,然后運(yùn)行它。 AspectJ技術(shù)包括了一個(gè)ajc編譯器、ajdb調(diào)試器、ajdoc文檔生成器和ajbrowser程序結(jié)構(gòu)瀏覽器,同時(shí)內(nèi)置與Eclipse、Sun-ONE/Netbeans、GUN Emacs/XEmacs、JBuilds和Ant中。
2. 使用AspectJ益處有哪些?
AspectJ 可以用來(lái)改善軟件系統(tǒng)的模塊化。使用簡(jiǎn)單的Java類,很難模塊化設(shè)計(jì)下面這樣的問(wèn)題(concerns): - 系統(tǒng)級(jí)錯(cuò)誤處理 - 合約執(zhí)行 - 分布問(wèn)題 - 特征變化 - 上下文敏感行為 - 持久化 - 測(cè)試
這些問(wèn)題的代碼往往在整個(gè)系統(tǒng)中分散開來(lái)。因?yàn)檫@些問(wèn)題不會(huì)留在任何一個(gè)模塊邊界內(nèi),可以說(shuō) 這些問(wèn)題橫切了系統(tǒng)的模塊性。AspectJ向Java添加了構(gòu)造,使得能夠模塊化的實(shí)現(xiàn)橫切關(guān)注點(diǎn)(橫切問(wèn)題)。這個(gè)能力是格外有價(jià)值的,因?yàn)闄M切關(guān)注點(diǎn)往往是復(fù)雜的和很少小范圍的,這樣使得很難去處理他們。
注: crosscutting concerns 翻譯成橫切關(guān)注點(diǎn),這樣翻譯應(yīng)該是大多數(shù)的,我個(gè)人覺(jué)得這里的concerns 翻譯成“問(wèn)題”應(yīng)該更通俗和容易理解點(diǎn)。
待續(xù)。。。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注