迭代子模式:迭代子模式可以顺序访问一个聚集中的元素而不必暴露聚集的内部表象。多个对象聚在一起形成的总体称之为聚集,聚集对象是能够包容一组对象的容器对象。迭代子模式将迭代逻辑封装到一个独立的子对象中,从而与聚集本身隔开。迭代子模式简化了聚集的界面。每一个聚集对象都可以有一个或一个以上的迭代子对象,每一个迭代子的迭代状态可以是彼此独立的。迭代算法可以独立于聚集角色变化。
结构  我的设计模式学习--Iterator模式
意图 提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示。
适用性
  • 访问一个聚合对象的内容而无需暴露它的内部表示。
  • 支持对聚合对象的多种遍历。
  • 为遍历不同的聚合结构提供一个统一的接口(即, 支持多态迭代)。
Code Example
  1我的设计模式学习--Iterator模式// Iterator
  2我的设计模式学习--Iterator模式
  3我的设计模式学习--Iterator模式// Intent: "Provide a way to access the elements of an aggregate object 
  4我的设计模式学习--Iterator模式// sequentially without exposing its underlying representation". 
  5我的设计模式学习--Iterator模式
  6我的设计模式学习--Iterator模式// For further information, read "Design Patterns", p257, Gamma et al.,
  7我的设计模式学习--Iterator模式// Addison-Wesley, ISBN:0-201-63361-2
  8我的设计模式学习--Iterator模式
  9

相关文章: