冰浪

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

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

          Posted on 2006-09-06 18:19 冰浪 閱讀(816) 評論(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)。”

          讀完了整章節,明白了各接口類和實現類之間的關系,使用方法及設計思想。
          其中有這樣一句話:不要只用具體類寫程序,要利用抽象類和接口才對。
          但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 海浪
          說實話,你的分析確實很好,理解能力遠在我之上。
          呵呵,怎么像個專家說話呢。
          我個人認為,你的編程規范需要改進。
          有些方面做的不是很完美。
          期待你的更改。
          有時間去我的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:
          當然可以,而且也應該這么定義為接口而不是抽象類。接口類中的方法全為抽象方法,沒有方法體,只有方法聲明。而抽象類中可以有具體方法。
          主站蜘蛛池模板: 保定市| 大理市| 平南县| 崇明县| 来安县| 区。| 尉氏县| 曲麻莱县| 乐陵市| 通江县| 武夷山市| 黄大仙区| 葫芦岛市| 宣城市| 自治县| 博湖县| 灵寿县| 南投县| 焉耆| 白城市| 吕梁市| 农安县| 临猗县| 天水市| 荥经县| 荆州市| 石台县| 泽普县| 微山县| 万荣县| 武鸣县| 北辰区| 岑溪市| 岳普湖县| 鄱阳县| 河源市| 宜兰县| 长治县| 宜丰县| 苍溪县| 绿春县|