设计模式—itorator模式

itorator模式,又称迭代模式,本质是提供统一的接口,让外部可以顺序访问到内部的数据。

 

对外暴露两个接口:

  1. hasNext,是否还有下一个元素
  2. next,返回下一个元素

 

为什么需要这种模式?因为底层数据实现可能是数组,也可能是链表,前者可以通过下标遍历,后者通过指针遍历。但是这样子,在调用的时候,调用者还要分别处理。假如我们在它们上面包裹一层,提供hasNext和next函数,那么调用者就可以统一来遍历处理了。

 

uml图:

例子:

我们平常的各种调味品,例如糖,盐,味精,我们都可以放到一个一个相同的罐子存储,使用时候用勺子拿出一点点。统一的取出方法,能判断还能不能取出,这就是迭代模式。

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注