美文网首页Android设计模式
Android设计模式-13-迭代器模式

Android设计模式-13-迭代器模式

作者: 今阳说 | 来源:发表于2021-01-19 18:33 被阅读0次

1. 定义

提供一种方法顺序访问一个容器对象中的各个元素,而又不需要暴露该对象的内部表示, 又称游标(Cursor)模式

2. 使用场景

访问一个聚合对象的内容而无须暴露它的内部表示

需要为聚合对象提供多种遍历方式

为遍历不同的聚合结构提供一个统一的接口

3. 优缺点

优点:

它支持以不同的方式遍历一个聚合对象

迭代器简化了聚合类

在同一个聚合上可以有多个遍历

在迭代器模式中,增加新的聚合类和迭代器类都很方便,无须修改原有代码

缺点: 由于迭代器模式将存储数据和遍历数据的职责分离,增加新的聚合类需要对应增加新的迭代器类,类的个数成对增加,这在一定程度上增加了系统的复杂性

4. Android源码中的使用

迭代器模式还是很常见的,我们平时使用的List,Map等集合类所包含的迭代器,数据库查询使用的Cursor都是属于迭代器模式的应用

5. 实例演示

以统计员工数据为例

1. 首先创建一个员工类

2. 创建一个迭代器接口

3. 创建两个公司类,都持有员工的集合,但是内部实现是不同的,一个是数组,一个是List集合,都实现了上面的迭代器接口

4. 创建一个老板类,它需要去遍历访问员工数据,里面有三个方法,分别是对数组遍历,对List遍历,以及使用迭代器遍历

5. 创建实例进行遍历, 从这里就可以看出迭代器模式(read3)的好处了, 1. 实现了解耦,boss类不再持有员工的引用;2. 方便扩展,若又有个company3,4,5,6...都是不同的数据结构实现的,若是普通方法去遍历那么还要修改boss类的代码,而如果用迭代器模式实现则只需要新增的company类实现迭代器接口就好了

我是今阳,如果想要进阶和了解更多的干货,欢迎关注公众号”今阳说“接收我的最新文章

相关文章

网友评论

    本文标题:Android设计模式-13-迭代器模式

    本文链接:https://www.haomeiwen.com/subject/ncjczktx.html