理解设计模式(十六)——迭代器模式
迭代器模式
- 理解设计模式(一)——简单工厂
- 理解设计模式(二)——工厂方法
- 理解设计模式(四)——建造者
- 理解设计模式(五)——原型模式
- 理解设计模式(六)——单例模式
- 理解设计模式(七)——适配器模式
- 理解设计模式(八)——桥接模式
- 理解设计模式(九)——组合模式
- 理解设计模式(十)——装饰模式
- 理解设计模式(十一)——门面模式
- 理解设计模式(十二)——享元模式
- 理解设计模式(十三)——代理模式
- 理解设计模式(十四)——职责链模式
- 理解设计模式(十五)——命令模式
提出问题
有时候我们想要用多种方式遍历一个数组。比如说:想要跳着遍历一个数组,想要只遍历符合某种条件的元素。还有时候,我们不想返回原始数据,想要对数据做一些处理?
你可能会想到,可以在for循环里面写一个if语句,for循环里再处理。但是如果好多地方都要用到呢?代码冗余是不是太高了?怎么解决?
解决问题
当然是封装啦。你可以把for循环封装成一个函数,然后到处调用。你可以把不同的遍历方式封装成多个不同的函数。再高级一点,封装成一个类,提供各种访问方法。这就是迭代器模式。
上代码:
class List { |