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

    積分與排名

    • 積分 - 2298114
    • 排名 - 3

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲一级大黄大色毛片| 久久精品国产亚洲av麻| 456亚洲人成影院在线观| 久久午夜夜伦鲁鲁片免费无码| 亚洲精品无码成人片久久| 丰满人妻一区二区三区免费视频| 亚洲成av人片在线观看天堂无码| 日日狠狠久久偷偷色综合免费| 国产免费69成人精品视频| 日韩国产欧美亚洲v片| 国产一卡二卡≡卡四卡免费乱码| 美女黄网站人色视频免费| 亚洲日本一区二区一本一道| 亚洲一区二区三区免费| 亚洲日韩一页精品发布| 久久久久久影院久久久久免费精品国产小说 | 四虎永久精品免费观看| 曰批免费视频播放在线看片二| 亚洲电影日韩精品 | 免费国产小视频在线观看| 日韩精品无码免费视频| 亚洲精品无码久久一线| 久久A级毛片免费观看| 中文字幕亚洲综合久久综合| 国产又黄又爽又刺激的免费网址| 无码的免费不卡毛片视频| 亚洲精品乱码久久久久久自慰| 91香蕉国产线在线观看免费| 亚洲а∨精品天堂在线| 在线精品亚洲一区二区三区| 24小时日本韩国高清免费| 亚洲爆乳成av人在线视菜奈实| 狠狠综合久久综合88亚洲| 日本黄网站动漫视频免费| 亚洲AV永久无码精品一福利 | 国产成人毛片亚洲精品| 免费无码毛片一区二区APP| 亚洲欧美日韩中文高清www777| 亚洲日韩中文字幕日韩在线| 59pao成国产成视频永久免费| 亚洲av无码一区二区三区四区|