iT邦幫忙

2023 iThome 鐵人賽

DAY 22
0
自我挑戰組

Design Pattern - 無所不在的設計模式系列 第 22

[Day22] Design Pattern - Iterator 迭代器模式

  • 分享至 

  • xImage
  •  

前言


又迎來了另一個連假
但這樣下禮拜我就只會上一天班😶‍🌫️
現在當實習生還處在覺得上班快樂好玩的階段🐙
會好好學習&珍惜這段時間QQ

定義


Iterator is a behavioral design pattern that lets you traverse elements of a collection without exposing its underlying representation (list, stack, tree, etc.).
--Refactoring Guru

迭代器模式是一種行為型設計模式,它能讓你在不暴露其集合的底層表現形式(清單、堆疊、樹等)的情況下,走訪集合中的各個元素。

迭代器模式主要元素


Iterator模式包括以下四個主要元素~

  1. 迭代器(Iterator):這是一個界面或抽象類別,定義了用於走訪集合元素的方法,如取得下一個元素、檢查是否還有元素等。

  2. 具體迭代器(Concrete Iterator):這是實際實作迭代器界面的類別,負責實現走訪集合的邏輯。它跟特定集合的內部結構相關聯。

  3. 集合(Aggregate)(也有人說collection):這是要走訪的集合類別,它提供一個創建迭代器的方法,以及存儲元素的方式。

  4. 具體集合(Concrete Aggregate)(aka concrete collection):實際實作集合界面的類別,包含了元素的存儲方式和創建迭代器的方法。

這四個元素共同協作,使得可以有效地遍歷和操作集合中的元素,同時保持了集合的內部結構對外部程式碼的封裝。 Iterator模式有助於降低程式碼的耦合性,提高程式的可讀性和可維護性。

UML



上一篇
[Day21] Design Pattern - Interpreter解釋器模式
下一篇
[Day23] Design Pattern - Mediator中介者模式
系列文
Design Pattern - 無所不在的設計模式30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言