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

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

    模式动机:

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

    模式结构:

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

    模式分析:

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

    具体实现类图:

     迭代器模式的优缺点:

     优点:

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

     缺点:

    • 迭代器将存储数据和遍历数据的职责分离,增加新的聚合类要对应增加新的迭代器类,类的个数承兑增加
  • 相关阅读:
    Java自学-集合框架 与数组的区别
    Java自学-I/O 控制台输入流System.in
    Java自学-I/O 对象流
    Java自学-I/O 数据流
    Java自学-I/O 缓存流
    Java自学-I/O 中文问题
    Java自学-I/O 字符流
    Java自学-I/O 关闭流的方式
    Java自学-I/O 字节流
    Java自学-I/O Stream流
  • 原文地址:https://www.cnblogs.com/wfswf/p/15621711.html
Copyright © 2011-2022 走看看