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

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

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

    posts - 176, comments - 240, trackbacks - 0, articles - 7

    AOP之動態化

    Posted on 2007-01-14 17:04 canonical 閱讀(1095) 評論(2)  編輯  收藏 所屬分類: 設計理論
    ??? 目前的AOP(Aspect Oriented Programming)技術雖然以動態代碼織入為核心,但是這種織入仍然是一次性的。一般在系統構造的時候(例如ClassLoader裝載Class的時候)實現類和成員函數的增強。此后在運行時刻代碼結構是固定的而不再發生變化。但是在真正的業務處理過程中,我們在不同的應用場景下可能要求織入不同的Aspect。例如基本的權限Aspect, 如果在不同的應用場景有不同的權限設定,則我們顯然希望進入一個確定的操作場景的時候就指定一整套的權限策略,而不是在每個函數調用時刻寫上一大堆的if/else(這種分離的條件判斷正是AOP試圖從結構上消除的)。
    ??? 為了實現AOP的二級動態化,我們首先需要約定一些公共標記(坐標),便于在標記處插入Aspect Container, 其次我們需要在系統中建立一個隱蔽的信道,可以通過該信道傳遞一個標志符(Aspect的id),用于在各處選擇特定的Aspect. 建立這種動態特性之后,我們就可以據此發展出Aspect組的概念,并實現Aspect組之間的繼承關系等高階結構,從而最大限度的限制程序結構的分散化。
    ??? Witrix平臺的BizFlow設計在概念上可以看作是AOP的一種二級動態化織入設計,它通過$bizId這一特定參數來選擇織入的Biz。一個BizFlow對象是一組Biz(Aspect)的集合, BizFlow可以通過extends機制實現集合之間的合并等(BizFlow實現的合并策略其實是非常復雜的)。一個簡單的應用就是流程支持,例如一個普通的實體對象對應的bizflow只需要加上如下代碼即可獲得流程相關的代碼,前臺菜單等。
    ? <bizflow extends="testflow.biz.xml">

    Feedback

    # re: AOP之動態化  回復  更多評論   

    2007-08-18 04:56 by ObjectTutor
    我覺得這個只是概念罷了
    沒有業務的規范和統一,哪有組件、AOP開發?
    但實際上商業業務本來就很復雜,做規范統一需要很長實踐
    技術只是輔助罷了

    # re: AOP之動態化  回復  更多評論   

    2007-08-18 20:15 by canonical
    在數學和具體工藝之間還存在著所謂的物理學,這就是Witrix設計的方向。
    主站蜘蛛池模板: 免费看黄福利app导航看一下黄色录像| 久久国产乱子伦精品免费午夜| 欧洲精品免费一区二区三区| 国产精品亚洲综合天堂夜夜| 亚洲精品国产精品乱码不99 | 亚洲成a∨人片在无码2023| 免费在线观看黄网| 久久久久免费看黄a级试看| 亚洲国产日韩视频观看| 久久综合亚洲色HEZYO国产| 久久久久久精品免费免费自慰| 国产亚洲精品仙踪林在线播放| 亚洲精品无码不卡| 亚洲成AⅤ人影院在线观看| 啦啦啦完整版免费视频在线观看| 国产AV无码专区亚洲AV琪琪| 亚洲黄色免费网址| 久久99亚洲综合精品首页| www.黄色免费网站| 一区二区三区无码视频免费福利| 亚洲av午夜国产精品无码中文字| 亚洲国产成人久久精品影视| 免费中文字幕在线观看| 麻豆最新国产剧情AV原创免费| 三年片在线观看免费| 无套内谢孕妇毛片免费看看 | 国产精品免费久久久久电影网| 亚洲入口无毒网址你懂的| 亚洲国产精品一区二区成人片国内 | 国产麻豆免费观看91| 最近2019中文字幕免费直播| 国产大片免费天天看| 亚洲av午夜国产精品无码中文字 | 久久91亚洲精品中文字幕| 亚洲av手机在线观看| 免费观看成人毛片a片2008| 毛片免费在线观看| 国产裸体美女永久免费无遮挡| 国产精品亚洲专区无码WEB| 亚洲国产系列一区二区三区| 亚洲成a人不卡在线观看|