設計模式筆記 – 迭代器模式

分類

  • 行為型

模式的目的(定義)

  • 將「遍歷」的責任從集合裡抽象出來,得以使用一種統一的方式訪問到集合裡的元素,而集合內部的信息也不需要暴露給外界
    • 在這個基礎上,由於具體的迭代器對象是由具體的集合自己去實例化,因此還可以做到根據集合的需要,實現不同的遍歷方式

使用場景例子

  • 基本上所有集合的可以應用迭代器模式,但是常見的場景是有好幾個自定義的集合類同時要被遍歷時,就可以為他們實現迭代器模式,然後通過統一的接口去遍歷他們
    • 這些自定義集合類實例化一些迭代器,包含了默認或者自定義的遍歷方法
    • 用戶直接統一調用集合返回的迭代器對象提供的遍歷接口(如:next())去遍歷每個集合中的元素

類圖

參考書目

  • 《Head First Design Patterns》Eric Freeman, Elisabeth Robson, Kathy Sierra, Bert Bates