`

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 迭代器模式 视频讲座下载

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

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

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

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

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

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

    c++设计模式-行为型模式-迭代器模式

    c++设计模式-行为型模式-迭代器模式;qt工程;c++简单源码;迭代器(Iterator)模式的定义:提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。

    设计模式_迭代器模式.zip

    迭代器模式(Iterator Pattern)是 Java 和 .Net 编程环境中非常常用的设计模式。这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。 迭代器模式属于行为型模式。 迭代器模式 java demo

    Java Iterator迭代器_动力节点Java学院整理

    迭代器是一种模式,它可以使得对于序列类型的数据结构的遍历行为与被遍历的对象分离,接下来通过本文给大家分享Java Iterator迭代器_动力节点Java学院整理,需要的朋友参考下吧

    java设计模式--迭代器设计模式.docx

    迭代器模式(Iterator Pattern)是一种非常常用的设计模式,这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。迭代器模式属于行为型模式。 介绍 意图: 提供一种方法顺序访问一个聚合对象中各个...

    【JDK1.8源码剖析】外部迭代器Iterator接口

    文章目录Iterator源码剖析(一)简介(二)源码分析 ...外部迭代器的设计背后体现着迭代器设计模式的思想 (二)源码分析 该接口就只有四种方法 // 是否存在未遍历元素 boolean hasNext(); // 返回下一个元素

    PHP设计模式之迭代器模式Iterator实例分析【对象行为型】

    主要介绍了PHP设计模式之迭代器模式Iterator,结合实例形式分析了PHP迭代器模式Iterator相关概念、原理、实现方法与操作注意事项,需要的朋友可以参考下

    Android编程设计模式之迭代器模式详解

    迭代器模式(Iterator Pattern)又称为游标(Cursor)模式,是行为型设计模式之一。迭代器模式算是一个比较古老的设计模式,其源于对容器的访问,比如Java中的List、Map、数组等,我们知道对容器对象的访问必然会...

    05-容易被忽略的迭代器(1).html

    迭代子模式( Iterator ) 责任链模式( Chain of Responsibility ) 命令模式( Command ) 备忘录模式( Memento ) 状态模式( State ) 访问者模式( Visitor ) 中介者模式( Mediator ) 解释器模式( ...

    .NET设计模式(18):迭代器模式(IteratorPattern)

    Iterator模式就是分离了集合对象的遍历行为,抽象出一个迭代器类来负责,这样既可以做到不暴露集合的内部结构,又可让外部代码透明的访问集合内部的数据。提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露...

    C#面向对象设计模式纵横谈(视频与源码)

    C#面向对象设计模式纵横谈(18):(行为型模式) Iterator 迭代器模式 C#面向对象设计模式纵横谈(19):(行为型模式) Observer 观察者模式 C#面向对象设计模式纵横谈(20):(行为型模式) Chain Of Responsibility ...

    23种设计模式 (创建型,结构型,行为型)

    迭代器模式(Iterator Pattern) 行为型: 16. 观察者模式(Observer Pattern) 17. 解释器模式(Interpreter Pattern) 18. 中介者模式(Mediator Pattern) 19. 职责链模式(Chain of Responsibility Pattern) ...

    23种java版设计模式源码案例.zip

    迭代器模式(iterator) 中介者模式(mediator) 备忘录模式(memento) 观察者模式(observer) 状态模式(state) 空对象模式(null object) 策略模式(strategy) 模板模式(template) 访问者模式(visitor)

    C++设计模式(Design Pattern)范例源代码

    23种设计模式(Design Pattern)的C++...迭代器模式(Iterator) 中介者模式(Mediator) 备忘录模式(Memento) 观察者模式(Observer) 状态模式(State) 策略模式(Strategy) 模板方法模式(Template Method) 访问者模式(Visitor)

    设计模式之11个行为型模式

    行为型简介职责链模式(ChainofResponsibility)命令模式(Command)解释器模式(Interpreter)迭代器模式(Iterator)中介者模式(Mediator)备忘录模式(Memento)观察者模式(Observer)状态模式(State)策略模式(Strategy)模板...

Global site tag (gtag.js) - Google Analytics