統計

          留言簿(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 閱讀(228) 評論(0)  編輯  收藏 所屬分類: Programing

          主站蜘蛛池模板: 宁化县| 庐江县| 都昌县| 鄂温| 堆龙德庆县| 宝山区| 黑河市| 凤冈县| 南涧| 大余县| 梁河县| 宣化县| 鄂州市| 巴青县| 永德县| 乌鲁木齐市| 罗田县| 商河县| 荥阳市| 临湘市| 梅州市| 阿坝县| 宁化县| 岱山县| 吕梁市| 贵南县| 德钦县| 周宁县| 塔河县| 酒泉市| 宜黄县| 房产| 张家界市| 财经| 孝感市| 绥德县| 余江县| 大埔县| 基隆市| 拜泉县| 金堂县|