<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 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    AOP學習筆記一:動機

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

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

    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.
        }

    }


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


     


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


    網站導航:
     
    主站蜘蛛池模板: 国产三级免费电影| 国产免费怕怕免费视频观看| 免费又黄又爽的视频| 小说专区亚洲春色校园| 国产美女做a免费视频软件| 亚洲av无码一区二区三区天堂 | 午夜dj免费在线观看| 亚洲日韩中文字幕一区| 精品无码国产污污污免费| 亚洲AV成人一区二区三区观看| 国产男女猛烈无遮挡免费视频 | www一区二区www免费| 亚洲色大成网站WWW久久九九| 国产在线观看免费av站| 久久精品国产亚洲香蕉| 99re6在线精品视频免费播放| 亚洲制服丝袜一区二区三区| 女性无套免费网站在线看| 黄色网址大全免费| 狠狠色伊人亚洲综合成人| 亚洲免费在线视频观看| 亚洲最大的成人网| 亚洲Av无码乱码在线znlu| 叮咚影视在线观看免费完整版| 亚洲最新视频在线观看| 最新中文字幕免费视频| 精精国产www视频在线观看免费| 久久亚洲精品无码| 成人特黄a级毛片免费视频| 蜜桃传媒一区二区亚洲AV | 日韩中文无码有码免费视频| 黄色一级毛片免费| 亚洲AV成人片色在线观看 | 毛片视频免费观看| 中文字幕免费观看视频| 亚洲冬月枫中文字幕在线看| 亚洲欧洲国产成人综合在线观看 | 亚洲国语在线视频手机在线| 拔擦拔擦8x华人免费久久| a级毛片毛片免费观看永久| 亚洲AV成人影视在线观看|