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

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

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

    閑人野居
    好好學(xué)習(xí),天天向上
    posts - 57,  comments - 137,  trackbacks - 0
    ???????? AOP這個(gè)概念提出來很久了,可對(duì)它總是一知半解。這幾天好好補(bǔ)了一下其中的知識(shí),終于有所突破。
    ???????? 簡單的來說,AOP就是面向方面(aspect)編程。具體的概念是這樣的:
    ???????? 面向 Aspect 的編程(AOP)是一種新的編程技術(shù),它允許程序員對(duì) 橫切關(guān)系(crosscutting concerns)(跨越典型職責(zé)界限的行為,例如日志記錄)進(jìn)行模塊化。AOP 引進(jìn)了 Aspect,它將影響多個(gè)類的行為封裝到一個(gè)可重用模塊中。
    ???????? 那什么是橫切??
    ??????? 橫切
    是面向方面編程的專有名詞。它指的是在一個(gè)給定的編程模型中穿越既定的職責(zé)部分(比如日志記錄和性能優(yōu)化)的操作。在橫切的世界里,橫切有兩種類型:動(dòng)態(tài)橫切和靜態(tài)橫切。
    ??????? 動(dòng)態(tài)橫切
    ?????? 動(dòng)態(tài)橫切
    是通過 切入點(diǎn)連接點(diǎn) 在一個(gè) 方面 中創(chuàng)建行為的過程,連接點(diǎn)可以在執(zhí)行時(shí)橫向地應(yīng)用于現(xiàn)有對(duì)象。動(dòng)態(tài)橫切通常用于幫助向?qū)ο髮哟沃械母鞣N方法添加日志記錄或身份認(rèn)證。下面讓我們花點(diǎn)時(shí)間了解一下動(dòng)態(tài)橫切中的一些實(shí)際概念:
    • 方面(aspect)類似于 Java 編程語言中的類。方面定義切入點(diǎn)和通知(advice),并由諸如 AspectJ 這樣的方面編譯器來編譯,以便將橫切(包括動(dòng)態(tài)的和靜態(tài)的)織入(interweave)現(xiàn)有的對(duì)象中。

    • 一個(gè) 連接點(diǎn)(join point) 是程序執(zhí)行中一個(gè)精確執(zhí)行點(diǎn),比如類中的一個(gè)方法。例如,對(duì)象 Foo 中的方法 bar() 就可以是一個(gè)連接點(diǎn)。 連接點(diǎn)是個(gè)抽象的概念;不用主動(dòng)定義一個(gè)連接點(diǎn)。

    • 一個(gè) 切入點(diǎn)(pointcut) 本質(zhì)上一個(gè)用于捕捉連接點(diǎn)的結(jié)構(gòu)。例如,可以定義一個(gè)切入點(diǎn)來捕捉對(duì)對(duì)象 Foo 中的方法 bar() 的所有調(diào)用。和連接點(diǎn)相反,切入點(diǎn)需要在方面中定義。

    • 通知(advice) 是切入點(diǎn)的可執(zhí)行代碼。一個(gè)經(jīng)常定義的通知是添加日志記錄功能,其中切入點(diǎn)捕捉對(duì)對(duì)象 Foo 中的 bar() 的每個(gè)調(diào)用,然后該通知?jiǎng)討B(tài)地插入一些日志記錄功能,比如捕捉 bar() 的參數(shù)。

    ?????? 這些概念是動(dòng)態(tài)橫切的核心,雖然正如我們即將看到的,它們并不全都是靜態(tài)橫切所必需的。

    ?????? 靜態(tài)橫切

    ???? 靜態(tài)橫切 和動(dòng)態(tài)橫切的區(qū)別在于它不修改一個(gè)給定對(duì)象的執(zhí)行行為。相反,它允許通過引入附加的方法字段和屬性來修改對(duì)象的 結(jié)構(gòu)。此外,靜態(tài)橫切可以把擴(kuò)展和實(shí)現(xiàn)附加到對(duì)象的基本結(jié)構(gòu)中。
    ??? 雖然現(xiàn)在還無法談及靜態(tài)橫切的普遍使用——它看起來是 AOP 的一個(gè)相對(duì)未被探索(盡管非常具有吸引力)的特性——然而這一技術(shù)蘊(yùn)含的潛力是巨大的。使用靜態(tài)橫切,架構(gòu)師和設(shè)計(jì)者能用一種真正面向?qū)ο蟮姆椒ㄓ行У亟?fù)雜系統(tǒng)的模型。靜態(tài)橫切允許您不用創(chuàng)建很深的層次結(jié)構(gòu),以一種本質(zhì)上更優(yōu)雅、更逼真于現(xiàn)實(shí)結(jié)構(gòu)的方式,插入跨越整個(gè)系統(tǒng)的公共行為。

    ??????

    posted on 2006-09-06 20:05 布衣郎 閱讀(726) 評(píng)論(0)  編輯  收藏 所屬分類: 設(shè)計(jì)相關(guān) 、aop

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     

    <2006年9月>
    272829303112
    3456789
    10111213141516
    17181920212223
    24252627282930
    1234567

    常用鏈接

    留言簿(12)

    隨筆分類(59)

    隨筆檔案(57)

    blog

    java

    uml

    搜索

    •  

    積分與排名

    • 積分 - 357878
    • 排名 - 156

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲精品无AMM毛片| 亚洲精品一区二区三区四区乱码| 久久午夜夜伦鲁鲁片免费无码 | 亚洲人JIZZ日本人| caoporm超免费公开视频| 亚洲AV无码乱码在线观看牲色 | 中文在线观看国语高清免费| 亚洲综合色婷婷七月丁香| 久久九九免费高清视频| 国产av无码专区亚洲av桃花庵| 国产拍拍拍无码视频免费| 亚洲AV无码久久精品蜜桃| 最近中文字幕高清免费中文字幕mv| 亚洲日韩中文字幕天堂不卡| 免费精品国产自产拍在| 亚洲人成人伊人成综合网无码| 暖暖在线日本免费中文| 日韩久久无码免费毛片软件 | 国产高清免费视频| 亚洲日韩一区精品射精| 亚洲av再在线观看| 精品久久久久久无码免费| 亚洲天堂一区二区| 成人看的午夜免费毛片| 深夜a级毛片免费无码| 亚洲av午夜福利精品一区人妖| av无码久久久久不卡免费网站| 亚洲熟女精品中文字幕| 亚洲国产av无码精品| 国产午夜无码精品免费看动漫| 亚洲一级免费毛片| 亚洲欧洲一区二区三区| 永久在线免费观看| 综合一区自拍亚洲综合图区| 亚洲国产精品一区二区成人片国内| 成年人网站免费视频| 一级毛片免费观看不收费| 亚洲美女视频网站| 亚洲成人一区二区| 6080午夜一级毛片免费看 | 叮咚影视在线观看免费完整版|