请选择 进入手机版 | 继续访问电脑版
切换皮肤

?url=http%3A%2F%2Fdingyue.ws.126.net%2FB8Tb6oakrScRQWaX87hfE1CHbweBtqGHcrtOMtnZKLZ961586914231424.jpg


迭代器模式(Iterator Pattern) :它提供一种方式访问一个容器对象的各个元素,而又不需暴露该对象的内部细节。
迭代器模式是为了解决遍历容器中的元素而产生的。先看看下面的通用类图:
?url=http%3A%2F%2Fdingyue.ws.126.net%2F8bSh4SUdl1u9yunhzDxG21jSG8KicV5OOlpSZCFm6YSqp1586914232942.jpg
各个角色的定义如下:
1、Iterator抽象迭代器,提供遍历容器元素的接口,比如next()、hasNext()、remove()等。
2、ConcreteIterator具体的迭代器,完成容器的遍历。
3、Aggregate抽象容器,提供一个创建迭代器的方法
4、ConcreteIterator具体的容器,实现抽象容器,创建出容器迭代器的对象
以下就是通用的代码,其实这个模式Java中已经实现,我们很少自己单独实现。
?url=http%3A%2F%2Fdingyue.ws.126.net%2Fk6WLhQo5mTHDlA8IqTBEuO9WeLATdPWDbYyLXZXt4CO6M1586914238285compressflag.jpg
迭代器模式的优缺点:
1、优点:解耦迭代与聚集,迭代器的变化不会影响容器;
1、缺点:对于比较简单的遍历,使用迭代器方式遍历较为繁琐;

回复

使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则


    Archiver|手机版|小黑屋|齐聚无忧 |网站地图

    Powered by Discuz! X3.4  © 2001-2013 Comsenz Inc.