<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 阿蜜果 閱讀(4830) 評論(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

    積分與排名

    • 積分 - 2294512
    • 排名 - 3

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 无码少妇一区二区浪潮免费| a成人毛片免费观看| 最近免费中文字幕高清大全| 亚洲人成伊人成综合网久久久| 人人公开免费超级碰碰碰视频| 国产精品成人四虎免费视频| 亚洲Aⅴ在线无码播放毛片一线天 亚洲avav天堂av在线网毛片 | 91精品免费在线观看| 亚洲国产模特在线播放| 免费不卡视频一卡二卡| 亚洲色一区二区三区四区| 国产又粗又长又硬免费视频 | 少妇性饥渴无码A区免费 | 特级毛片aaaa级毛片免费| 亚洲精品第一国产综合境外资源 | 黄页网站在线视频免费| 中文亚洲成a人片在线观看| 免费人成网站在线观看不卡| 水蜜桃亚洲一二三四在线| 7723日本高清完整版免费| 亚洲AV综合永久无码精品天堂| 婷婷亚洲天堂影院| 久久国产精品免费视频| 亚洲午夜一区二区三区| 亚洲乱码中文字幕手机在线 | 日本免费网站观看| 72pao国产成视频永久免费| 亚洲精品视频在线| 女人18毛片水真多免费看| 亚欧国产一级在线免费| 亚洲欧洲综合在线| 免费在线观看你懂的| 久久精品国产这里是免费| 亚洲AV色欲色欲WWW| 亚洲AV成人片色在线观看| 四虎成人免费网站在线| 大地影院MV在线观看视频免费| 亚洲免费闲人蜜桃| 免费很黄很色裸乳在线观看| 18禁成人网站免费观看| 日本视频免费观看|