Iterator(迭代器)
Iterator(迭代器) 行为型 对象 1 Intent_意图 2 提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示 Motivation_动机 3 用同一种方法遍历包含不同类型数据的整合对象 Applicability_适用性 4 遍历 一个聚合对象 Structure_结构 5 Participants_参与者 6 Iterator(抽象迭代器) 定义访问和遍历聚合元素的接口 ConcreteIterator(具体迭代器) 实现抽象迭代器接口中所定义的方法 Aggregate(抽象聚合) 定义创建迭代器对象的接口 ConcreteAggregate(具体聚合) 实现抽象聚合类接口,返回一个具体迭代器的实例 Client(客户) 持有对聚集及其迭代对象的引用,调用迭代子对象的迭代接口,也有可能通过迭代子操作聚集元素的增加和删除 Collaborations_协作 7 Iterator定义访问和遍历聚合元素的接口 ->通常包含hasNext()、first()、next()等方法 ConcreteIterator实现Iterator中所定义的方法,完成对聚合对象的遍历,并记录遍历过程中游标的位置 Aggregate定义操作聚合对象以及创建迭代器对象的接口 ->聚合对象的操作包括存储、添加、删除等 ConcreteAggregate实现Aggregate的接口