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