23種設計模式 16 迭代器模式

2021-09-29 06:41:37 字數 1111 閱讀 3973

/// /// 迭代器介面

///

public inte***ce iterator

/// /// 資料容器介面

///

public inte***ce idatacontainer

/// /// 資料物件

///

public class data : idatacontainer

/// /// 集合長度

///

public int length

}/// /// 根據索引獲取值

///

///

///

public int getvalue(int index)

/// /// 獲取迭代器

///

///

public iterator getiterator()

}

/// /// 迭代器

///

public class dataiterator : iterator

/// /// 是否可以繼續向下迭代

///

///

public bool movenext()

/// /// 獲取當前值

///

///

public object getcurrent()

/// /// 下乙個索引

///

public void next()

/// /// 重置索引

///

public void reset()

}

class program

);//獲取到資料物件的迭代器

iterator iterator = data.getiterator();

//遍歷輸出資料值

while (iterator.movenext())

console.writeline("end");

console.readkey();

}}

設計模式GOF23 迭代器模式

迭代器模式 iterator 又稱為游標 cursor 模式,是一種行為性模型,行為型模式關注的是系統中物件之間的相互互動,解決系統在執行時物件之間的相互通訊和協作,進一步明確物件的職責。相比來說,建立型模式關注物件的建立過程,結構型模式關注物件和類的組合關係。提供一種可以遍歷聚合物件的方式。聚合物...

設計模式(16) 迭代器 Iterator

目錄 設計模式學習筆記首頁 設計模式 1 抽象工廠 abstractfactory 設計模式 2 生成器 builder 設計模式 3 工廠方法 factory method 設計模式 4 原型 prototype 設計模式 5 單例 singleton 設計模式 6 介面卡 adapter 設計模...

23種設計模式 裝飾器模式

7.應用場景 8.現實案例 9.注意事項 某些情況,當乙個類已經存在,並且可以對外提供核心功能時,但是,某個時刻,希望對這個類進行功能增強 如 增加快取 通常情況,我們可以修改原來的類,並增加對應的增強功能即可 但是,這種方式違背了 開 閉 原則,需要修改原來的 而且不夠靈活,如果有某個時刻又不想使...