设计模式:迭代模式

发布时间:2021-10-03 23:19:12 阅读:(112)

    迭代模式

    什么是迭代模式

    提供一种方法顺序地访问一组聚合对象(一个容器)中地各个元素,而又不需要暴露该对象地内部细节

    设计思想

    迭代模式又称迭代器模式。迭代器其实就是一个指向容器中当前元素地指针,这个指针可以返回当前所指向地元素,可以移到下一个元素的位置,通过这个指针可以遍历容器中的所有元素,一般至少有两个方法:

    • 获取当前指向的元素:current()
    • 指针移向下一个元素:next()

      设计要点

    • 了解容器的数据结构及可能的层次结构
    • 根据需要确定迭代器要实现的功能,如next()、previous()、current()、toBegin()、toEnd()中的一个或多个

    优缺点

    优点:

    • 迭代器模式将存储数据和遍历数据的职责分离
    • 简化了聚合数据的访问方式
    • 可支持多种不同方式遍历一个聚合对象
      缺点:
      需要额外增加迭代器的功能实现,增加新的聚合类,可能需要增加新的迭代器

    应用场景

    • 集合的内部结构复杂,不想暴露对象的内部细节,只提供精简的访问方式。
    • 需要提供统一的访问接口,从而对不同的集合使用统一的算法
    • 需要为一些列聚合对象提供多种不同的访问方式