統計

          留言簿(1)

          DB

          Others

          QA

          Tech Website

          閱讀排行榜

          評論排行榜

          【JUnit源碼解讀】--觀察者模式

          一、觀察者模式定義
                   觀察者模式(Observer): 在對象之間定義一對多的依賴,這樣一來,當一個對象改變狀態,依賴它的對象都會收到通知,并自動更新

          二、在JUnit中的體現




          TestResult中用Vector保存各個監聽器(文本界面、圖形界面和Eclipse插件)
          protected Vector fListeners;  //監聽器集合

          在測試運行階段,如果出現Error 或者 Failure,TestResult 則會通知各個監聽器
          public synchronized void addFailure(Test test, AssertionFailedError t) {
                  fFailures.addElement(
          new TestFailure(test, t));
                  
          //觀察者模式在這里體現出來了,當fFailures有變化時,馬上通知其它Listeners
                  for (Enumeration e= cloneListeners().elements(); e.hasMoreElements(); ) {
                      ((TestListener)e.nextElement()).addFailure(test, t);
                  }

              }


          posted on 2011-02-15 10:33 XXXXXX 閱讀(233) 評論(0)  編輯  收藏 所屬分類: Programing

          主站蜘蛛池模板: 阳谷县| 赣榆县| 防城港市| 阜康市| 旬邑县| 瑞昌市| 奉节县| 天水市| 蚌埠市| 华宁县| 兰坪| 崇信县| 淮南市| 渝北区| 合山市| 大新县| 郧西县| 新建县| 江源县| 临潭县| 东海县| 绥德县| 枝江市| 满城县| 龙川县| 肇东市| 陕西省| 武城县| 车险| 靖江市| 潼南县| 贵德县| 庆元县| 常德市| 峨边| 永清县| 屏边| 运城市| 怀柔区| 满洲里市| 木兰县|