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