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

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

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

    posts - 8, comments - 13, trackbacks - 0, articles - 43
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    AOP學(xué)習(xí)筆記一:動機(jī)

    Posted on 2009-08-08 21:55 kangaroo 閱讀(238) 評論(0)  編輯  收藏

    AOP,全稱Aspect Oriented Programming,面向方面的編程。那么就要問了,什么是方面,為什么引入AOP?
    一般情況下,OOP能夠很好的避免代碼重復(fù)。具體繼承可以幫助我們在不同類型之間共享相同的行為;多態(tài)讓我們可以用同樣的方式處理不同類型的對象,將注意力集中在它們的共同之處。但是,有些時(shí)候,OOP也避免不了代碼的重復(fù),比如下面的例子:

    public class MyBusinessObject extends BusinessObject {
     
        
    public void businessMethod1() throws UnanthorizedException {
            doSecurityCheck();
        }


        
    public void businessMethod2() throws UnanthorizedException {
            doSecurityCheck();
        }

           
        
    public void businessMethod3(){
            
    //do not need check security.
        }



        
    protected void doSecurityCheck() throws UnanthorizedException {
            
    //implement the security check.
        }

    }


    上面是安全性檢查的例子,我們希望檢查用戶是否有權(quán)限執(zhí)行某個(gè)方法,如果沒有就拋出異常。我們把安全檢查的工作放在一個(gè)方法中實(shí)現(xiàn),但是這個(gè)仍無法避免一行重復(fù)代碼的編寫。另外,當(dāng)開發(fā)者添加一個(gè)新的業(yè)務(wù)方法時(shí),它完全有可能忘記調(diào)用安全檢查的方法,從而破壞了應(yīng)用程序的安全性。為了在方法執(zhí)行的過程中識別出“應(yīng)該調(diào)用安全性檢查”的那一點(diǎn),我們需要用一種高全新的方式來看待程序結(jié)構(gòu),而OO的層次模型無法提供這種新的視角。對于這個(gè)問題,繼承愛莫能助,“安全性檢查”在這里是一個(gè)具有橫切性的問題,需要進(jìn)行安全性檢查的方法都是彼此獨(dú)立的,無法從某個(gè)通用的方法繼承下去。
    AOP的目標(biāo)就是將橫切型crosscutting的問題以一種更加通用的方式模塊化,從而提升程序的模塊化程度。在AOP中,我們可以單獨(dú)編寫“安全性檢查”的代碼,并將其包裝為一個(gè)方面aspect。(方面的概念出現(xiàn)嘍!)然后,我們可以告訴AOP實(shí)現(xiàn)產(chǎn)品如何在運(yùn)行時(shí)將方面織入到程序流程之中,具體的實(shí)現(xiàn)策略,請看下篇AOP的實(shí)現(xiàn)策略。


     


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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 男的把j放进女人下面视频免费| 亚洲国产成人精品无码区二本| 日本免费精品一区二区三区| 亚洲中文字幕无码久久综合网| 久久精品国产亚洲AV未满十八| 蜜桃视频在线观看免费网址入口| 亚洲视频精品在线| 成人性生交大片免费看午夜a| 亚洲精品福利网泷泽萝拉| 久章草在线精品视频免费观看| 日本亚洲欧洲免费天堂午夜看片女人员 | 亚洲国产成人手机在线电影bd| 国产精品视频免费| 国产成人亚洲综合无| 亚洲av无码一区二区三区网站| 国产一区二区免费视频| 亚洲综合精品伊人久久| 亚洲AV无码一区东京热久久| 久久免费看少妇高潮V片特黄| 久久久久亚洲av无码专区喷水| 久久国产高潮流白浆免费观看| 亚洲福利视频一区| 国产免费黄色大片| a在线视频免费观看在线视频三区| 国产乱辈通伦影片在线播放亚洲| 中文字幕免费人成乱码中国| 最新国产成人亚洲精品影院| 在线jyzzjyzz免费视频| 91香蕉国产线观看免费全集| 美女视频黄.免费网址| 亚洲精品无码午夜福利中文字幕| 99热精品在线免费观看| 成人国产网站v片免费观看| 亚洲黄页网在线观看| 亚洲一区二区在线视频| 国产亚洲成人在线播放va| 国产伦一区二区三区免费| 一二三四影视在线看片免费| 麻豆va在线精品免费播放| 亚洲一区二区三区成人网站 | 中文文字幕文字幕亚洲色|