1.定义
提供一种在不暴露对象内部表示的情况下一次访问容器对象中各种元素的方法,也称为光标模式
2.使用场景
在不暴露其内部表示的情况下访问聚合对象的内容
必须为聚合对象提供多种遍历方法
提供用于通过不同聚合结构的统一接口
3.优缺点
优点:
它支持以多种方式遍历聚合对象
迭代器简化了聚合类
同一聚合中可以有多个遍历
在迭代器模式下,添加新的聚合类和迭代器类而不更改原始代码非常方便
缺点:由于迭代器模式将存储数据和遍历数据的职责分开,因此添加新的聚合类需要相应的新迭代器类,并且类的数量成对增加,这在某种程度上增加了系统的复杂性?H T
4.在Android源代码中使用
迭代器模式仍然非常普遍.List和Map等常用集合类中包含的迭代器以及数据库查询中使用的游标都是迭代器模式的应用程序。
5.样本演示
以员工统计为例
1.首先创建一个员工班级
2.创建一个迭代器接口
3.创建两个公司类,每个公司类包含一个雇员集合。但是,内部实现是不同的。一个是数组,另一个是列表集合。两个都实现上面的迭代器接口
4.创建必须传递以访问员工数据的老板类。共有三种方法:数组遍历,列表遍历和迭代器遍历
5.为遍历创建一个实例。从这里您可以看到迭代器模式(read3).1的好处。实现解耦,Boss类不再包含任何员工引用。2。如果在不同的数据结构中实现另一个company3、4、5、6 …是可行的扩展。如果是正常的迭代方法,则需要更改boss类代码。只有新的企业类需要实现迭代器。接口很好
我是金阳,如果您想进步并了解更多有关干货的信息,请参阅金阳赛义德公共账户获取我的最新物品

Written by