<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 431,  comments - 344,  trackbacks - 0

    英文原文出自《Spring In Action》

    像絕大多數的技術一樣,AOP也有自己的術語。不幸的是,很多用于描述AOP特征的術語并不直觀,但是,它們已經成為了AOP語言的一部分,如果你想理解AOP,你必須學會這門AOP語言。通俗地說,你想在圈子里面混,你就得學會說行話。

    Aspect

    Aspect是你正在實現的一個cross-cutting的功能,它是你應用中正在模塊化的一個方面(aspect)。比較通用的一個例子是日志。記錄日志是一項貫穿整個應用的服務。由于應用基本以功能(基于業務邏輯)為界限進行劃分模塊,故通過繼承的方法來重用日志模塊似乎不合理。但是,你可以創建一個日志aspect來實現你的想法。

    Joinpoint

    Joinpoint是在應用運行中那些aspect可以插進來的點。這個點可能是一個被調用的方法,一個被拋出的異常,甚至可以是一個被改變的字段。在這些點處添加你的aspect的代碼,就可以為你的應用增加一些新的行為。

    Advice

    Advice是對aspect的一個具體實現。它向系統建議(advice)增加一個新的行為。在我們的日志例子中,日志advice包含了記錄日志的代碼并實現真正的日志記錄,比如將日志寫入文件。Advice被添加到joinpoint點上。

    Pointcut

    Pointcut定義了advice應該被插入到什么樣的joinpoint點上。Advice可以被應用到任意AOP框架支持的joinpoint上。當然,你不會希望將所有的aspect應用到可以被應用的joinpoint上面。Pointcut讓你可以指定advice應用的位置。通常,你用具體的類名或方法名,或者一些符合表達式的類或方法名來指定pointcut。 一些AOP框架允許你創建動態的pointcuts,這些pointcuts可以在運行的時候動態決定是否需要應用advice,比如方法的參數值。

    Introduction

    Introduction可以讓你添加方法和屬性到已經存在的類中。例如,你可以創建一個Auditable的advice類用來跟蹤某對象最后改變的時期。這個可以簡單地通過一個屬性記錄狀態,并添加一個setLastModified(Date)方法來實現。然后,它可以被引入(introduce)到已經存在的類。這樣,已有的類不需要做任何改變就有了個新的功能。

    Target

    Target是正在被advice的類,這可以是你自己寫的一個類或者是你想增加新的功能的第三方提供的類。沒有AOP,這個類必須被包括自身主要的邏輯并且額外加上那些cross-cutting關心的邏輯。有了AOP,target類只需要關注自身所需要關心的,而把那些應用于自身的advices拋到腦后。

    Proxy

    Proxy是被應用了advice的target實例。從客戶實例的角度來看,無論是target實例(AOP之前)還是proxy實例(AOP以后),都是一樣的,當然,它們本來就應該是一樣的。也就是說,你的既有應用不需要做改變來支持proxy類。

    Weaving

    Weaving是指把aspects應用到目標實例上去創建一個新的proxied實例的過程。Aspects在目標對象的joinpoint被組合(weave)進去。Weaving可以發生在目標類生存的如下時間:

    • 編譯期 -- Aspects在目標類編譯期被weave。這個需要特殊的編譯器。
    • 載入期 -- Aspects在目標類載入期被weave。這個需要特殊的類裝載器。
    • 運行期 -- Aspects在應用運行時的某個時期被weave。一般來說,AOP容器在weave in aspects的時候會動態創建proxy類來代理target類。

    圖例:

    PS:



    Trackback: http://tb.donews.net/TrackBack.aspx?PostId=697258

    posted on 2006-12-27 10:51 周銳 閱讀(425) 評論(0)  編輯  收藏 所屬分類: Spring
    主站蜘蛛池模板: 久久99国产乱子伦精品免费| jizz在线免费观看| 亚洲免费一级视频| 亚洲Av永久无码精品三区在线| 国产免费黄色无码视频| 亚洲一区二区三区AV无码| 黄色视频在线免费观看| 国产亚洲一区二区精品| 久操免费在线观看| 亚洲自偷自拍另类图片二区| 成人免费在线看片| 亚洲国产精品无码久久久秋霞1| 大地资源在线观看免费高清| 久久精品国产亚洲AV电影网| 免费一级成人毛片| 久久免费国产精品| 亚洲色四在线视频观看| 日韩免费a级毛片无码a∨| 亚洲AV成人片无码网站| 红杏亚洲影院一区二区三区| 永久免费av无码网站yy| 亚洲精品视频在线观看视频| 24小时在线免费视频| 亚洲欧美日韩国产成人| 亚洲天堂中文字幕在线| 精品国产污污免费网站| 亚洲美女中文字幕| 日本一道本高清免费| 好湿好大好紧好爽免费视频| 337p日本欧洲亚洲大胆精品555588 | 中文无码成人免费视频在线观看 | 日韩人妻无码精品久久免费一| 亚洲美女中文字幕| 国产免费人人看大香伊| 久久国产精品成人免费| 国产精品亚洲精品观看不卡| 亚洲国产成人影院播放| 最近免费中文字幕mv在线电影| 激情婷婷成人亚洲综合| 亚洲卡一卡2卡三卡4卡无卡三| 大地资源免费更新在线播放|