1. 程式人生 > >迭代器與組合模式(轉載)

迭代器與組合模式(轉載)

程式碼實在太多了,偷個懶轉載大佬的
https://www.cnblogs.com/lzhp/p/3427704.html

迭代器模式

提供了一種方法順序訪問一個聚合物件中的各個元素,而又不暴露內部的表示

把在元素之間遍歷的責任交給迭代器,而不是聚合物件
角色

client 客戶類,聚合物件和迭代器的擁有者
Aggregate 聚合類介面,負責建立迭代器
iterator 迭代器介面,遍歷元素

設計原則:一個類應該只有一個引起變化的原因

內聚 度量一個類或模組緊密達到單一目的或責任的程度。

迭代器和組合模式

迭代器和組合模式配合,就像樹的結構一樣,非常靈活,可以忽略部分與整體的差異,使用迭代器作為葉子或者迭代器元素作為葉子,遍歷時很方便就能遍歷多個不同實現元素的遍歷
組合模式定義

允許你將物件組合成樹形結構來表現“整體/部分”層次結構。組合能讓客戶以一致的方式處理個別對象以及對想組合。