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

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

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

    posts - 297,  comments - 1618,  trackbacks - 0
         觀察者模式(Observer) 屬于對象的行為模式
    1. 定義
         定義對象間的一種一對多的關系,當一個對象的狀態發生改變時,所有依賴它的對象都得到通知,并被自動更新。
    2. 使用的原因
          
    在應用程序開發過程中,往往都要求用戶界面和業務邏輯分離,劃定清晰的界限.因為應用程序要求能快速的更改用戶界面并且不能對應用程序其他部分產生連帶影響,而且業務邏輯也會發生變化并要求這一切變化與用戶界面無關.觀察者(observer)就是解決此問題最常用的設計模式,它非常有助于在系統中各個對象之間劃分清晰的界限。
         觀察者模式在界面設計中應用廣泛。
         還有一種常見的情況,一個軟件系統常常要求在某一個對象發生變化的時候,某些其它的對象做出相應的改變,而觀察者模式是解決這個問題的一個低耦合度的設計方案,它能夠減少對象之間的耦合以便更加利于系統的復用。
    3. 適用的情況舉例
        eg1.  
    4. 類圖結構及說明
      1)示意性類圖如下所示:
      
      2)類說明
         i)抽象主題Subject:用于將所有的對象引用保存在一個聚集中(比如Vector對象)里,每個Subject可以有任何數量的觀察者。它又被叫做抽象觀察者(Observable)角色,一般使用抽象類或接口實現。
         ii)抽象觀察者Observer:為所有的具體觀察者定義一個接口,在得到Subject的通知時更新自己。
         iii)具體主題ConcreteSubject:將有關狀態存入具體觀察者對象。在具體主題的內部狀態改變時,給所有登記過的觀察者發出通知。又被稱為具體被觀察者角色。
         iv)具體觀察者ConcreteObserver:實現了抽象觀察者Observer,在被觀察者發出通知時,將自行執行update方法更新。

    5. 使用舉例
          待續。
    6. 參考文章
        1)《Pattens In Java》
        2)《Java與模式》
        3)http://i.cn.yahoo.com/whj1234586/blog/p_34/
        4)http://www.999qc.cn/Article/NET/15500/
    posted on 2008-05-14 07:56 阿蜜果 閱讀(4829) 評論(4)  編輯  收藏 所屬分類: Design Pattern


    FeedBack:
    # re: 設計模式學習筆記--觀察者模式(Observer) (未完待續)
    2008-05-14 13:53 | 迷失的風
    這個方法我見過,是在jzkit工具包里面有,像這個
    Observer fragment_count_observer = new Observer() {
    public void update(Observable o, Object arg) {
    IREvent e = (IREvent) arg;

    if (e.event_type == IREvent.SOURCE_RESET) {
    System.err
    .println("TIME: Sub Fragment source reset");
    } else if (e.event_type == IREvent.FRAGMENT_COUNT_CHANGE) {
    System.err
    .println("TIME: Number of fragments has changed to "
    + e.event_info);

    }
    }
    };

    看的不是太明白,用起來迷糊。  回復  更多評論
      
    # re: 設計模式學習筆記--觀察者模式(Observer) (未完待續)
    2008-05-16 15:22 | 網上買書
    的確觀察者模式在界面設計中應用廣泛。  回復  更多評論
      
    # re: 設計模式學習筆記--觀察者模式(Observer) (未完待續)[未登錄]
    2008-11-26 19:40 | Lanny
    最近我也在學習Observer模式,不過仍未在實際項目應用上:)  回復  更多評論
      
    # re: 設計模式學習筆記--觀察者模式(Observer) (未完待續)[未登錄]
    2009-09-21 19:43 | 隨意
    這樣子說那使用delegate是不是一種簡單的觀察者模式呢?  回復  更多評論
      
    <2008年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

          生活將我們磨圓,是為了讓我們滾得更遠——“圓”來如此。
          我的作品:
          玩轉Axure RP  (2015年12月出版)
          

          Power Designer系統分析與建模實戰  (2015年7月出版)
          
         Struts2+Hibernate3+Spring2   (2010年5月出版)
         

    留言簿(263)

    隨筆分類

    隨筆檔案

    文章分類

    相冊

    關注blog

    積分與排名

    • 積分 - 2294312
    • 排名 - 3

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 最近中文字幕免费mv视频7| 皇色在线免费视频| 蜜桃AV无码免费看永久| 伊伊人成亚洲综合人网7777| 亚洲乱码av中文一区二区| h片在线免费观看| 亚洲视频国产视频| 69视频在线观看免费| 亚洲级αV无码毛片久久精品| 国产亚洲精品国产福利在线观看| 一个人免费观看视频www| 亚洲乱码中文字幕小综合| 久草免费在线观看视频| 亚洲一级二级三级不卡| 最近最新高清免费中文字幕 | 午夜视频免费成人| 亚洲乱亚洲乱妇24p| 日韩毛片无码永久免费看| 亚洲av日韩av永久无码电影 | 亚洲情A成黄在线观看动漫软件| 91精品免费在线观看| 亚洲一区二区观看播放| 免费永久国产在线视频| 免费看黄的成人APP| 亚洲成年轻人电影网站www| 日韩免费人妻AV无码专区蜜桃| 18亚洲男同志videos网站| 国内外成人免费视频| 国产va免费观看| 亚洲永久中文字幕在线| 成年女性特黄午夜视频免费看 | 亚洲丰满熟女一区二区v| 亚洲福利在线播放| 久久久久久国产精品免费免费男同 | 小小影视日本动漫观看免费| eeuss影院免费直达入口| 亚洲爆乳无码专区| 国产无遮挡吃胸膜奶免费看 | 亚洲国产高清国产拍精品| 超清首页国产亚洲丝袜| 99久久综合国产精品免费|