设计模式 -- 迭代器模式
2017-07-12 本文已影响0人
NahuelK
一. 迭代器的定义
提供一种方法,按照顺序访问一个容器对象中的各个元素,而又不需要暴露该容器内部细节。
二. 迭代器模式-应用场景
遍历容器对象
三. 迭代器模式-角色划分
角色一:Iterator ( 迭代器接口,定义访问,提供遍历元素统一方法 )
![](https://img.haomeiwen.com/i4405983/a0c052cd19124007.png)
提供接口的默认实现
![](https://img.haomeiwen.com/i4405983/cd714806987c3429.png)
角色二:ConcereteIterator (具体的迭代器,实现接口)
![](https://img.haomeiwen.com/i4405983/5b43de490d4c38d5.png)
角色三:Aggregate(容器接口)
角色四:ConcreteAggregate(具体的容器实现)
![](https://img.haomeiwen.com/i4405983/2738acaee102a070.png)
角色五:迭代器使用
![](https://img.haomeiwen.com/i4405983/4dc801475c3b3d08.png)
总结:个人觉着,迭代器模式能够拆分循环中的实现,减少循环内部的代码,将一些行为方法封装到对象中,让使用者不必知道具体的实现内容,让使用者更方便使用,提高可读性