比如集合:迭代器將儲存資料和遍歷資料隔離開來,但是每新增加乙個集合就需要新增乙個迭代器型別。
日常使用時很少會自定義給乙個迭代器,都是復用jdk的迭代器。
課程
public
class
course
public string getname()
}
存放課程
/**
* 存放課程 + 遍歷課程
*/public
inte***ce
courseaggregate
/**
* 儲存課程和遍歷課程的實現類
*/public
class
courseaggregateimpl
implements
courseaggregate
@override
public
void
addcourse
(course course)
@override
public
void
removecourse
(course course)
@override
public courseiterator getcourseiterator()
}
遍歷課程
/**
* 迭代器:遍歷課程
*/public
inte***ce
courseiterator
/**
* 遍歷課程
*/public
class
courseiteratorimpl
implements
courseiterator
@override
public course nextcourse()
@override
public
boolean
islastcourse()
return
true;}
}
測試類
原始碼:
設計模式 十七 迭代器模式
iterator pattern 迭代器模式 iterator pattern 提供一種方法來訪問聚合物件,而不用暴露這個物件的內部表示,其別名為游標 cursor 迭代器模式是一種物件行為型模式。聚合物件是來儲存一系列資料。聚合物件擁有兩個職責 一是儲存資料 二是遍歷資料。從依賴性來看,前者是聚合...
大話設計模式筆記(十七) 迭代器模式
提供一種方法順序訪問乙個聚合物件中各個元素,而又不暴露該物件的內部表示。聚集抽象類 created by callmedevil on 2019 8 17.public abstract class aggregate 迭代器抽象類 created by callmedevil on 2019 8 ...
設計模式觀後(c 還原之十七 迭代器模式)
迭代器模式 現在已經基本感覺沒意思了,感覺每個23鐘模式圍繞著前面的6個原則設計 只是增加了示例見識,還不見得全記得住。估計要用的時候才會迅速找到 不說了,要加速23鐘模式 快點進入模式混合搭配,才能深刻理解 作者把管理專案資訊做了乙個迭代器 先抽象基類 class projectiterator ...