熱心網友

AOP是OOP的延續,是Aspect Oriented Programming的縮寫,意思是面向方面編程。AOP實際是GoF設計模式的延續,設計模式孜孜不倦追求的是調用者和被調用者之間的解耦,AOP可以說也是這種目標的一種實現。AOP應用范圍  很明顯,AOP非常適合開發J2EE容器服務器,目前JBoss 4。0正是使用AOP框架進行開發?! 【唧w功能如下:Authentication 權限Caching 緩存Context passing 內容傳遞Error handling 錯誤處理Lazy loading 懶加載Debugging  調試logging, tracing, profiling and monitoring 記錄跟蹤 優化 校準Performance optimization 性能優化Persistence  持久化Resource pooling 資源池Synchronization 同步Transactions 事務。

熱心網友

AOP,即面向側面的程序設計(aspect-oriented programming,又譯作面向方面的程序設計、觀點導向編程)是計算機科學中的一個術語,指一種程序設計范型。該范型以一種稱為側面(aspect,又譯作方面)的語言構造為基礎,側面是一種新的模塊化機制,用來描述分散在對象、類或函數中的橫切關注點(crosscutting concern)。 側面的概念源于對面向對象的程序設計的改進,但并不只限于此,它還可以用來改進傳統的函數。與側面相關的編程概念還包括元對象協議、主題(subject)、mixin和委托。 基本概念關注點(concern):對軟件工程有意義的小的、可管理的、可描述的軟件組成部分,一個關注點通常只同一個特定概念或目標相關聯。 主關注點(core concern):一個軟件最主要的關注點。 關注點分離(separation of concerns,SOC):標識、封裝和操縱只與特定概念、目標相關聯的軟件組成部分的能力,即標識、封裝和操縱關注點的能力。 方法(method):用來描述、設計、實現一個給定關注點的軟件構造單位。 橫切(crosscut):兩個關注點相互橫切,如果實現它們的方法存在交集。 支配性分解(dominant decomposition):將軟件分解成模塊的主要方式。傳統的程序設計語言是以一種線性的文本來描述軟件的,只采用一種方式(比如:類)將軟件分解成模塊;這導致某些關注點比較好的被捕捉,容易進一步組合、擴展;但還有一些關注點沒有被捕捉,彌散在整個軟件內部。支配性分解一般是按主關注點進行模塊分解的。 橫切關注點(crosscutting concerns):在傳統的程序設計語言中,除了主關注點可以被支配性分解方式捕捉以外,還有許多沒有被支配性分解方式捕捉到的關注點,這些關注點的實現會彌散在整個軟件內部,這時這些關注點同主關注點是橫切的。 側面(aspect):在支配性分解的基礎上,提供的一種輔助的模塊化機制,這種新的模塊化機制可以捕捉橫切關注點。 從主關注點中分離出橫切關注點是面向側面的程序設計的核心概念。分離關注點使得解決特定領域問題的代碼從業務邏輯中獨立出來,業務邏輯的代碼中不再含有針對特定領域問題代碼的調用,業務邏輯同特定領域問題的關系通過側面來封裝、維護,這樣原本分散在在整個應用程序中的變動就可以很好的管理起來。 “面向側面的程序設計”(aspect-oriented programming)這一術語出現的具體時間已經不可考證了,但該詞是由施樂帕洛阿爾托研究中心的Chris Maeda首先提出的。術語“橫切”(crosscutting)是由Gregor Kiczales提出的。 例子對于一個信用卡應用程序來說,存款、取款、帳單管理是它的主關注點,日志和持久化將成為橫切整個對象結構的橫切關注點。 。