1. 為什麼要用iterator模式
**和集合本身是緊耦合,
無法將訪問邏輯從集合類和客戶端**中分離出來,
每一種集合對應一種遍歷方法,客戶端**無法復用。
2.iterator的優缺點
1.訪問乙個聚合物件的內容而無需暴露它的內部表示。
2.支援對聚合物件的多種遍歷。
3.為遍歷不同的聚合結構提供乙個統一的介面(即, 支援多型迭代)。
1. 簡單,通用
對於hash表也可方便遍歷
2. 方便
既有正序遍歷,可有倒序,方便使用
3. 封裝性良好
各種集合遍歷方法相同,內部封裝不需關心
缺點:對簡單集合略複雜
3. iterator的實現案例
Enterprise Library設計模式
在軟體架構和開發中,模式是發生在給定的環境的確定問題的描述,和基於主導力 guiding forces 集合,提出乙個解決方案。解決方案通常是乙個簡單的機制,因為它是二個或我個類 物件 服務 程序 執行緒 元件或節點的組合,這些在一起工作以解決底層架構或開發挑戰。模式是對於開發和架構而言是非常有用的...
Guarded Suspension設計模式
guarded suspension 設計模式可以保證,當執行緒在訪問某個物件時,發現條件不滿足,就掛起等待條件滿足時再次訪問 public class guardedsuspensionqueue catch interruptedexception e 插入元素並且喚醒take執行緒 queue...
設計模式 Abstract Factory模式
還是乙個創造型模式,可以簡單的認為,創造型模式就是對使用者使用new的乙個封裝,封裝作為物件導向乙個重要的特性,它絕對不是一對大括號那麼簡單,他重要的是封裝變化點.如果沒有變化,那就別封裝吧,直接讓使用者new吧,這樣效率是最高的,但因為會有變化,所以才會有物件導向和設計模式.抽象工廠是應對這樣的一...