`

Iterator 迭代器 行为模式

阅读更多

Iterator 迭代器 行为模式,提供一种顺序访问一个聚合对象中的各个元素的方法,而又不破坏该聚合对象的内部表示。

 

别名游标,这个模式,在Composite模式的例子一时实际上已经用到了,而且在Flex中的也是有的。比如,Flex中有个类叫ArrayColllection有一个方法叫createCursor():IViewCursor。Iterator模式还是比较好理解的。

 


迭代器模式由一下几种组成元素:

    迭代器接口:用于对几何数据进行迭代的接口

    具体迭代器

    集合接口

    具体集合

 

 

下面来看一下代码:

 

 

IIterator.as

package {
    public interface IIterator {
        function reset();
        function next();
        function hasNext():Boolean;
    }
}

 

   来看一个具体的迭代器

 

ArrayIterator.as

package {
    public class ArrayIterator implements IIterator {
        private var collection:Array;
        private var index = 0;
        public function ArrayIterator(collection:Array) {
            this.collection = collection;
        }
        
        public function hasNext():Boolean {
            return index < collection.length;
        }
        
        public function next():Object {
            return collection[index++];
        }
        
        public function reset():void {
            index = 0;
        }
    }
}

 

   有种特殊的迭代器,叫Null迭代器,使用Null迭代器可以创建一个和接口紧密相连、但不用包含任何集合数据的类。如下定义:

 

 

 

NullIterator.as

package {
    public class NullIterator implements IIterator {
        public function NullIterator() {
        
        }
        
        public function hasNext():Boolean {
            return false;
        }
        
        public function next():Object {
            return null;
        }
        
        public function reset():void {}
    }
}
 

 

 

 

  • 大小: 45.6 KB
分享到:
评论

相关推荐

    (行为型模式) Iterator 迭代器模式

    C#面向对象设计模式 (行为型模式) Iterator 迭代器模式 视频讲座下载

    设计模式之迭代器模式(Iterator)

    迭代器模式是软件设计模式中的一种行为模式,它在编程中扮演着重要的角色,尤其是在处理集合数据时。迭代器模式的核心思想是提供一种方法来顺序访问聚合对象的元素,而无需暴露其底层表示。这种模式使得用户可以在不...

    C#面向对象设计模式纵横谈(18):(行为型模式) Iterator 迭代器模式 (Level 300)

    迭代器模式是面向对象设计中的一个行为型模式,它的主要目的是提供一种方法来顺序访问聚合对象的元素,而又不暴露其底层表示。在C#中,迭代器模式的应用广泛且重要,尤其对于集合类的遍历操作至关重要。本文将深入...

    设计模式(C#)之迭代器模式(Iterator Pattern)

    迭代器模式是软件设计模式中的一种行为模式,它在C#等面向对象编程语言中有着广泛的应用。这个模式的主要目标是允许用户遍历一个聚合对象(如数组、集合或列表)的所有元素,而无需了解底层的实现细节。下面将详细...

    C#面向对象设计模式纵横谈\18 行为型模式Iterator迭代器模式.zip

    在这里与各位分享本人从网络上下载的C#面向对象设计模式纵横谈系列视频,共有25节,除了第一节需要各位贡献一点资源分以作为对本人上传资源的回馈,后面的其他资源均不... 这是第18节:行为型模式Iterator迭代器模式

    IteratorPattern 迭代设计模式

    迭代器模式(IteratorPattern)是设计模式中的一种行为模式,它提供了一种顺序访问聚合对象元素的方法,同时又不暴露其底层表示。这种模式允许我们遍历集合对象的元素,而无需暴露其内部结构。在Java、C#等面向对象...

    23钟设计模式之迭代器模式模式

    综上所述,迭代器模式作为一种行为型设计模式,在提高代码抽象层次和降低系统内部耦合度方面发挥着重要作用。它不仅有助于简化聚合对象的遍历操作,还为系统提供了高度的扩展性与灵活性。在实际开发中,我们应当合理...

    【Java设计模式】(1)迭代器模式Iterator

    迭代器模式(Iterator Pattern)是Java设计模式中的行为模式之一,它提供了一种方法来顺序访问聚合对象的元素,而又不暴露其底层表示。在Java中,迭代器模式被广泛应用于集合类,如ArrayList、LinkedList等,通过...

    仿std&&list;的iterator迭代器

    为了高效地遍历和操作这个容器中的元素,STL使用了迭代器(iterator)的概念。迭代器就像一个指针,但具有更高级的功能,能够适应不同的容器和算法。在本主题中,我们将深入探讨如何仿照`std::list`的迭代器进行实现...

    迭代器模式代码示例

    迭代器模式是一种设计模式,属于行为设计模式,它允许我们顺序访问聚合对象的元素,而无需暴露其底层表示。在Java、C#等面向对象语言中,迭代器模式被广泛应用于容器类,如ArrayList、LinkedList等,使得我们可以...

    设计模式C++学习之迭代器模式(Iterator)

    迭代器模式是软件设计模式中的行为模式之一,它在C++编程中有着广泛的应用。这个模式提供了一种方法来顺序访问聚合对象的元素,而无需暴露其底层表示。通过迭代器,用户可以遍历集合中的所有元素,而无需知道如何...

    iterator-demo 迭代器设计模式demo

    迭代器设计模式是一种常用的行为设计模式,它提供了一种方法来顺序访问聚合对象的元素,而又不暴露其底层表示。这个“iterator-demo”应该是一个示例项目,用于演示如何在实际编程中应用迭代器模式。下面我们将深入...

    迭代器模式Demo

    在实际开发中,我们经常结合其他设计模式一起使用迭代器,例如工厂模式用于创建迭代器,装饰器模式用于在运行时添加新的遍历行为等。理解并熟练运用迭代器模式对于提升代码质量和可维护性具有重要意义。

    迭代器模式(Iterator Pattern)原理图

    迭代器模式(Iterator Pattern)是设计模式中的一种行为模式,它允许顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。迭代器模式提供了一种方法,可以顺序地访问一个聚合对象中的各个元素,而又...

    迭代器设计模式示例

    迭代器设计模式是一种行为设计模式,它允许我们顺序访问聚合对象的元素,而又不暴露其底层表示。在Java、C++、Python等编程语言中,迭代器模式被广泛使用,为遍历各种容器提供了统一的接口。下面我们将深入探讨迭代...

    设计模式的迭代器模式的例子

    迭代器模式是软件设计模式中的一种行为模式,它允许我们顺序访问聚合对象的元素,而无需暴露其底层表示。在Java、C#等面向对象语言中,迭代器模式被广泛应用于容器类,如ArrayList、LinkedList等,使得我们可以方便...

    设计模式之迭代器模式

    迭代器模式是一种行为设计模式,它提供了一种方法来顺序访问聚合对象的元素,而无需暴露其底层表示。在Java中,迭代器模式是通过接口实现的,这使得我们可以遍历任何实现了`Iterable`接口的对象,例如集合框架中的`...

    设计模式之迭代器模式(新)

    迭代器模式是软件设计模式中的一种行为模式,它允许我们顺序访问聚合对象的元素,而无需暴露其底层表示。在“设计模式之迭代器模式(新)”中,我们将深入探讨这种模式的核心概念、实现方式以及它在实际编程中的应用...

    Android迭代器模式demo

    迭代器模式是设计模式中的一种行为模式,它提供了一种顺序访问聚合对象的元素而无需暴露其底层表示的方法。在Android开发中,迭代器模式的应用可以帮助我们更好地管理和遍历集合数据,尤其在处理复杂的逻辑或者需要...

Global site tag (gtag.js) - Google Analytics