C 設計模式(十三)迭代器模式

2021-06-28 19:02:41 字數 655 閱讀 5278

迭代器模式提供了一種方法順序訪問乙個聚合物件(理解為集合物件)中各個元素,而又無需暴露該物件的內部表示,這樣既可以做到不暴露集合的內部結構,又可讓外部**透明地訪問集合內部的資料。

class program

console.readkey();

}// 迭代器抽象類

public inte***ce iterator

// 具體聚合類

public class concretelist//concretelist類;}

public iterator getinterator()

public int getlength()

public int getelement(int index)

}//具體迭代器類

public class concreteiterator : iterator

public bool movenext()

else

}public void next()

}public object getcurrent()

}}

在下面的情況下可以考慮使用迭代器模式:

由於迭代器承擔了遍歷集合的職責,從而有以下的優點:

迭代器模式存在的缺陷:

設計模式《二十三》 迭代器模式

提供一種方法順序訪問乙個聚合物件中各個元素,而又無須暴露該物件的內部表示。可以使用不同的方式來遍歷整個整合物件。iterator 抽象迭代,定義訪問和遍歷元素的介面,一般都是固定介面 first,next,isdone last concreteiterator 具體迭代器,實現迭代器介面,完成容器...

C 設計模式 迭代器模式

迭代器模式 iterator 提供一種方法順序訪問乙個聚合物件中各個元素,而又不暴露該物件的內部表示。迭代器模式結構圖 iterator迭代器抽象類 class iterator public virtual object first 0 virtual object next 0 virtual ...

C 設計模式 迭代器模式

迭代器模式 提供一種方法順序訪問乙個聚合物件中的各個元素,而又不暴露其內部的結構 每一種資料結構 包括自定義 遍歷自身內部的資料方式都是不同的。但是我們又希望和常規的遍歷方式一樣呼叫,就如for和foreach一樣遍歷。想要以相同的方式遍歷不同型別的聚合物件,首先就要有乙個相同的介面方法來統一獲取,...