迭代器模式:一种行为设计模式,能在不暴露集合底层表现形式的情况下遍历集合中所有的元素。
真实世界中的类比:
- 电视机遥控器:对于前进和后退按钮来说,我们并不需要知道具体的实现逻辑是什么,我们只需要知道如何遍历即可
- 快递迭代分发:所有的快递都是用一种快递盒包装起来,但是我们并不知道里面具体的行为,不过可以在快递带上依次遍历得出结论
- 老师按照名单点名:不需要知道具体人的长相,只需要按照名字念即可
STL中的应用:
优点:
- 单一职责原则:通过将体积庞大的遍历算法代码抽取为独立的类,可以对客户端的代码和集合进行整理
- 开闭原则:可实现新型的集合和迭代器并将其传递给现有代码,无需修改现有代码