行为型设计模式.迭代器模式

一、概念

1.1、定义

用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。


Iterator.png
  • Container,容器类:定义存储元素对象列表,实现add和remove接口。
  • Iterator,迭代类:元素对象需要间接依赖于容器类对象里列表,同时实现hasNext和next接口。
1.2、解决的问题
  • 问题分析:
    对于集合数据的遍历访问 和 存储过程 不同,存储过程先对固定,而访问遍历确可能变化。

  • 模式的解决思路:
    迭代器模式就是分离了集合对象的遍历行为,抽象出一个迭代器类Iterator来负责,这样既可以做到不暴露集合的内部结构,又可让外部代码透明地访问集合内部的数据。

二、模式的应用和优缺点

2.1、应用场景
  • 实例:
    JAVA 中的 iterator
2.2、优缺点
  • 优点:
    1、易于扩展聚合数据的遍历方式,如正序遍历、倒叙遍历等
    2、数据的存储过程和遍历过程剥离,方便彼此扩展

  • 缺点:
    优点即缺点,数据的存储过程和遍历过程剥离,会导致类的数量增加,增加系统复杂性。

三、其他

迭代器模式

你可能感兴趣的:(行为型设计模式.迭代器模式)