1:更好的封装性
2:可以以不同的遍历方式来遍历一个聚合
3:迭代器简化了聚合的接口
4:简化客户端调用
5:同一个聚合上可以有多个遍历
控制访问聚合对象中的元素
何时选用迭代器模式1:如果你希望提供访问一个聚合对象的内容,但是又不想暴露它的内部表示的时候,可以使用迭代器模式来提供迭代器接口,从而让客户端只是通过迭代器的接口来访问聚合对象,而无需关心聚合对象内部实现。
2:如果你希望有多种遍历方式可以访问聚合对象,可以使用迭代器模式
3:如果你希望为遍历不同的聚合对象提供一个统一的接口,可以使用迭代器模式