十六、迭代器模式——设计模式学习笔记

来源:互联网 发布:java web项目搭建教程 编辑:程序博客网 时间:2024/05/16 02:07
作为一个编程菜鸟,过去在学习设计模式的时候,老师给推荐了一本《大话设计模式》。阅读以后受益匪浅,可惜当初没有坚持看完。最近有时间了,又重新捡起来学习了一遍,整理了一下笔记,由于本人能力有限,欢迎大家批评指正。

1.迭代器模式 Iterator Pattern

  • 提供一种方法顺序访问一个聚合对象中各个元素,而有不暴露该对象的内部表示。
  • 它支持以不同的方式遍历一个聚合。
  • 迭代器简化了聚合的接口,在同一个聚合上可以有多个遍历。
  • 迭代器模式就是分离了集合对象的遍历行为,抽象出一个迭代器类负责,这样既可以做到不暴露集合的内部结构,又可让外部代码透明地访问集合内部的数据。

2.uml类图

这里写图片描述

3.组成

  • 迭代器抽象类Iterator:定义访问和遍历元素的接口。
  • 聚集抽象类Aggregate:定义创建相应迭代器对象的接口。
  • 具体迭代器类ConcreteIterator:实现迭代器接口,对该聚合遍历时跟踪当前位置,并能够计算出遍历的后继对象。
  • 具体聚集类ConcreteAggregate:具体聚合实现创建相应迭代器的接口,该操作返回ConcreteIterator的一个适当的实例。

4.相关模式

  • Composite:迭代器常被应用到像复合这样的递归结构上。
  • Factory Method:多态迭代器靠Factory Method来实例化适当的迭代器子类。
  • Memento:常与迭代器模式一起使用,迭代器可以使用一个Memento来捕获一个迭代器的状态。
阅读全文
1 0
原创粉丝点击