Iterator模式

迭代器模式(Iterator模式)

定義:

? ? 迭代器(Iterator)模式,又叫做游標(Cursor)模式。

? ? 提供一種方法訪問一個容器(container)對象中各個元素,而又不需暴露該對象的內部細節(jié)。

  迭代器模式是為容器而生。

? ? 對容器對象的訪問必然涉及到遍歷算法。我們可以一股腦的將遍歷方法塞到容器對象中去;

? ? 或者根本不去提供什么遍歷算法,讓使用容器的人自己去實現去吧。

? ? 這兩種情況好像都能夠解決問題。

  然而在前一種情況,容器承受了過多的功能,它不僅要負責自己“容器”內的元素維護

? (添加、刪除等等),而且還要提供遍歷自身的接口;而且由于遍歷狀態(tài)保存的問題,

? ? 不能對同一個容器對象同時進行多個遍歷。第二種方式倒是省事,卻又將容器的內部

? ? 細節(jié)暴露無遺。

  而迭代器模式的出現,很好的解決了上面兩種情況的弊端

角色:

? ? 1) 迭代器角色(Iterator):迭代器角色負責定義訪問和遍歷元素的接口。

  2) 具體迭代器角色(Concrete Iterator):具體迭代器角色要實現迭代器接口,

? ? ? 并要記錄遍歷中的當前位置。

  3) 容器角色(Container):容器角色負責提供創(chuàng)建具體迭代器角色的接口。

  4) 具體容器角色(Concrete Container):具體容器角色實現創(chuàng)建具體迭代器角色

? ? ? 的接口——這個具體迭代器角色于該容器的結構相關。


?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容