Android设计模式

Android设计模式——迭代器模式(十一大行为型)

2019-12-18  本文已影响0人  何小送

1.迭代器模式介绍

        迭代器模式(Iterator Pattern)又称为游标模式,是十一大行为型设计模式之一。

2.迭代器模式的定义

        提供一种方法顺序访问一个容器对象的各个元素,而又不需要暴露该对象的内部暗示。

3.迭代器模式的使用场景

        遍历一个容器对象时。

4.UML类图

UML类图

5.角色介绍

Iterator:迭代器接口。迭代器接口负责dinginess,访问和遍历元素的接口。

Concrete Iterator:具体迭代器类。目的主要是实现迭代器接口,并记录遍历的当前位置。

Aggregate:容器接口。负责提供创建具体迭代器角色的接口。

Concrete Aggregate:具体容器类。具体迭代器角色与该容器相关联。

Client:客户类。

6.模板

迭代器接口(上图) 具体迭代器类(上图) 容器接口(上图) 具体容器(上图) 客户端调用(上图)

7.Android源码中的迭代器模式

        数据库查询使用Cursor,当使用SQLiteDatabase的query方法查询数据库时,会返回一个Curson游标对象,该游标对象实质就是一个具体的迭代器,可以使用它来遍历数据库查询所得的结果集。

8.总结

        迭代器模式优点很单一:支持以不同的方式不遍历一个容器对象,也可以有多个遍历,弱化了容器类与遍历算法之间的关系。

        迭代器缺点:对类文件的增加。

PS:读《Android源码设计模式解析与实战》中的访问者模式之后的一些笔记与感悟。

上一篇下一篇

猜你喜欢

热点阅读