《AspectJ Cookbook》讀書筆記一: 面向方面的概述
橫切關注點
面向對象編程的基本前提就是讓開發人員能夠在軟件中表述模塊化的橫切關注點(crosscutting concern)。橫切關注點是跨軟件特定部分使用的一種行為,通常也是一種數據。它可能是一種約束,作為軟件本身的一種特征,或者只是所有類都必須執行的一種行為。
方面
方面(aspect)是橫切關注點的另一種稱呼。方面提供了一種機制,利用該機制,可以用一種模塊化的方式指定橫切關注點。為了充分利用方面的威力,我們需要了解一些基本概念,以便用一般的方式指定和應用方面。我們必須能夠:
以模塊化的方式定義方面
動態地應用方面
根據一組規則應用方面
根據一種機制和一種環境,用于指定將為特定方面執行的代碼
面向方面方法提供了一組語義和語法構造來滿足這些要求,使得無論編寫的是哪一類軟件,都可以一般地應用方面。這些構造就是通知(advice)、連接點(join point)和切入點(pointcut)。
通知
通知就是方面被調用時所執行的代碼。通知包好自身的一組規則。這組規則規定了何時調用通知,這是與被觸發的連接點相關的。
連接點
連接點就是可能會或者可能不會調用某個通知的應用程序內的特定點。AspectJ中支持的連接點:
被調用方法時連接
在方法執行期間連接
在調用構造函數時連接
在構造函數執行期間連接
在方面通知執行期間連接
在對象初始化以前連接
在對象初始化期間連接
在靜態初始化執行期間連接
在引用類的字段時連接
在給類的字段賦值時連接
在執行處理程序時連接
切入點
切入點是用于聲明連接點中關注AspectJ機制,用來發起一份通知。















上述類中每一條語句都可看做是潛在的連接點。而下述類中則分別申明了切入點和通知。











posted on 2008-06-22 23:34 Brian 閱讀(488) 評論(0) 編輯 收藏 所屬分類: 《AspectJ Cookbook》讀書筆記