書山有路勤為徑,學(xué)海無(wú)涯苦作舟
橫切關(guān)注點(diǎn) 面向?qū)ο缶幊痰幕厩疤峋褪亲岄_(kāi)發(fā)人員能夠在軟件中表述模塊化的橫切關(guān)注點(diǎn)(crosscutting concern)。橫切關(guān)注點(diǎn)是跨軟件特定部分使用的一種行為,通常也是一種數(shù)據(jù)。它可能是一種約束,作為軟件本身的一種特征,或者只是所有類都必須執(zhí)行的一種行為。 方面 方面(aspect)是橫切關(guān)注點(diǎn)的另一種稱呼。方面提供了一種機(jī)制,利用該機(jī)制,可以用一種模塊化的方式指定橫切關(guān)注點(diǎn)。為了充分利用方面的威力,我們需要了解一些基本概念,以便用一般的方式指定和應(yīng)用方面。我們必須能夠: 以模塊化的方式定義方面 動(dòng)態(tài)地應(yīng)用方面 根據(jù)一組規(guī)則應(yīng)用方面 根據(jù)一種機(jī)制和一種環(huán)境,用于指定將為特定方面執(zhí)行的代碼 面向方面方法提供了一組語(yǔ)義和語(yǔ)法構(gòu)造來(lái)滿足這些要求,使得無(wú)論編寫的是哪一類軟件,都可以一般地應(yīng)用方面。這些構(gòu)造就是通知(advice)、連接點(diǎn)(join point)和切入點(diǎn)(pointcut)。 通知 通知就是方面被調(diào)用時(shí)所執(zhí)行的代碼。通知包好自身的一組規(guī)則。這組規(guī)則規(guī)定了何時(shí)調(diào)用通知,這是與被觸發(fā)的連接點(diǎn)相關(guān)的。 連接點(diǎn) 連接點(diǎn)就是可能會(huì)或者可能不會(huì)調(diào)用某個(gè)通知的應(yīng)用程序內(nèi)的特定點(diǎn)。AspectJ中支持的連接點(diǎn): 被調(diào)用方法時(shí)連接 在方法執(zhí)行期間連接 在調(diào)用構(gòu)造函數(shù)時(shí)連接 在構(gòu)造函數(shù)執(zhí)行期間連接 在方面通知執(zhí)行期間連接 在對(duì)象初始化以前連接 在對(duì)象初始化期間連接 在靜態(tài)初始化執(zhí)行期間連接 在引用類的字段時(shí)連接 在給類的字段賦值時(shí)連接 在執(zhí)行處理程序時(shí)連接 切入點(diǎn) 切入點(diǎn)是用于聲明連接點(diǎn)中關(guān)注AspectJ機(jī)制,用來(lái)發(fā)起一份通知。
posted on 2008-06-22 23:34 Brian 閱讀(486) 評(píng)論(0) 編輯 收藏 所屬分類: 《AspectJ Cookbook》讀書筆記