zoukankan      html  css  js  c++  java
  • 设计模式 迭代器模式

    迭代器模式(Iterator Pattern): 提供了一种方法来访问聚合对象,而不同用暴露这个对象的内部表示,起别名为游标(Cursor)。迭代器模式是一种对象行为型模式。

    模式动机:

      在迭代器模式中,提供了一个外部的迭代器来对聚合对象进项访问和遍历,迭代器定义了一个访问该聚合元素的接口,并且可以跟踪当前遍历的元素,了解哪些元素已经遍历过而那些没有。

    模式结构:

    • Iterator:抽象迭代器
    • ConcreteIterator: 具体迭代器
    • Agregate: 抽象聚合类
    • ConcreteAggregate: 具体聚合类

    模式分析:

      在迭代器模式中应用了工厂方法模式,聚合类充当工厂类,而迭代器充当产品类,由于定义了抽象层,系统的扩充性很好,在客户端可以针对抽象聚合类和抽象迭代器进行编程。很多语言的类库都实现了迭代器。

    具体实现类图:

     迭代器模式的优缺点:

     优点:

    • 支持以不同的方式遍历一个聚合对象
    • 迭代器简化了聚合类
    • 在同一个聚合上可以有多个遍历
    • 增加新的聚合类和迭代器类都很方便

     缺点:

    • 迭代器将存储数据和遍历数据的职责分离,增加新的聚合类要对应增加新的迭代器类,类的个数承兑增加
  • 相关阅读:
    「SAM」你的名字
    「疫期颓废」2
    「疫期颓废」1
    代码覆盖率简单介绍
    解决git报ssh variant 'simple' does not support setting port
    接口自动化基本流程和测试思路
    wait和sleep的区别
    vm垃圾回收算法的简单理解
    TCP-三次握手和四次挥手简单理解
    浏览器输入一个url 中间经历的过程
  • 原文地址:https://www.cnblogs.com/wfswf/p/15621711.html
Copyright © 2011-2022 走看看