Java设计模式学习:1. Iterator模式

        之所以要引入Iterator,是因为引入Iterator模式后可以将遍历与实现分离开

        Iterator模式提到了四个概念:Iterator(迭代器)、ConcreteIteator(具体的迭代器)、Aggregate(集合)、 ConcreteAggregate(具体的集合):

  1. Iterator负责定义按顺序逐个遍历元素的接口。
  2. ConcreIteator负责实现Iterator角色所定义的接口。
  3. Aggregate负责定义创建Iterator角色的接口。
  4. ConcreteAggregate负责实现Aggregate角色所定义的接口。

针对上述模式,编写了示例程序:

其中Main.java的代码为:

整体的结构框图:

BookShelf是书架(容器),可以存放很多的Book,BookShelfIterator是书架的迭代器,可以取出书架中当前书并且指向下一个方法(next方法),同时检测书架中是否还有书(hasNext方法)。

Aggregate和Iterator是Interface,一个表示集合的接口,一个是遍历集合的接口,BookShelf是Aggregate的具体实现,BookShelfIterater是Iterator的具体实现。

程序运行结果:

猜你喜欢

转载自blog.csdn.net/RookieSa/article/details/84000791