冰浪

          哥已不再年輕 - 堅定夢想,畢生追求!
          posts - 85, comments - 90, trackbacks - 0, articles - 3
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          設計模式學習筆記之一:聚集的作用?

          Posted on 2006-09-06 18:19 冰浪 閱讀(811) 評論(5)  編輯  收藏 所屬分類: 設計模式

          今天開始看《設計模式-JAVA語言中的應用》一書,學習一下設計模式的理論。
          早上讀完第一章,Iterator——迭代器。

          首先定義了Aggregate接口:

          public interface Aggregate {
          ????? public abstract Iterator? iterator();
          }

          然后定義了Iterator接口:

          public interface Iterator {
          ???? public abstract boolean hasNext();
          ???? public abstract Object next();
          }

          ……
          書中說到:
          ???????? “Aggregate接口所聲明的方法只有iterator方法一個,這是為了建立一個可以對應聚合的Iterator。
          ???????? 如欲遞增、遍歷或逐一檢查某個聚合時,利用iterator方法即可建立一個實現Iterator接口的類對象實例(instance)?!?br />
          讀完了整章節(jié),明白了各接口類和實現類之間的關系,使用方法及設計思想。
          其中有這樣一句話:不要只用具體類寫程序,要利用抽象類和接口才對。
          但Aggregate接口的作用始終沒能明白。為什么要設計這個接口?它的作用是什么??聚集的含意又是什么呢??


          評論

          # re: 設計模式學習筆記之一:聚集的作用?  回復  更多評論   

          2006-09-15 13:53 by lijiajia418
          這有什么不好理解的了?Aggregate 指的是一組數據的集合,猶如集合類中的Collection,List,Set....Aggregate 的實現類繼承并實現了iterator接口以便返回不同的Iterator迭代器,但是在java的標準AIP中沒有抽象出Aggregate 而是在List,Set接口中定義了iterator()的方法簽名。

          # re: 設計模式學習筆記之一:聚集的作用?  回復  更多評論   

          2006-09-19 11:53 by 冰浪
          哦~~原來如此~呵呵!
          原來就是像是List類一樣,是為了更好的遍歷~
          謝謝!~

          # 說點題外話  回復  更多評論   

          2007-01-22 17:52 by 海浪
          說實話,你的分析確實很好,理解能力遠在我之上。
          呵呵,怎么像個專家說話呢。
          我個人認為,你的編程規(guī)范需要改進。
          有些方面做的不是很完美。
          期待你的更改。
          有時間去我的blog玩去

          # re: 設計模式學習筆記之一:聚集的作用?  回復  更多評論   

          2007-03-17 19:55 by ff_soft
          在定義了Aggregate接口:

          public interface Aggregate {
          public abstract Iterator iterator();
          }
          Iterator 是一個抽象的方法,可是我看過一本書,曾經說過:“含有抽象方法的類必須被聲明為抽象類”可是這里這個抽象的方法卻是在一個接口中,難道可以這樣定義嗎?謝謝

          # re: 設計模式學習筆記之一:聚集的作用?  回復  更多評論   

          2007-03-26 13:36 by 冰浪
          to ff_soft:
          當然可以,而且也應該這么定義為接口而不是抽象類。接口類中的方法全為抽象方法,沒有方法體,只有方法聲明。而抽象類中可以有具體方法。
          主站蜘蛛池模板: 博乐市| 当涂县| 左贡县| 丹江口市| 长治县| 杨浦区| 五常市| 晴隆县| 万山特区| 衡水市| 鸡东县| 吕梁市| 营口市| 玛纳斯县| 金堂县| 桐城市| 西畴县| 广州市| 故城县| 英山县| 盘锦市| 珠海市| 华安县| 海晏县| 分宜县| 饶阳县| 高碑店市| 沂水县| 遂宁市| 玛曲县| 巴楚县| 额济纳旗| 金乡县| 江孜县| 马边| 仲巴县| 砚山县| 上林县| 柞水县| 昌都县| 怀集县|