java23中设计模式之迭代器模式

package com.bdqn.iterator;

public interface MyIterator {
   //将游标指向第一个元素
    void  first();
  //将游标指向下一个元素
  void next();
   //判断存在下一个元素
  boolean hasNext();

  boolean iSFirst();
  boolean iSLast();
  //获取当前游标指向的对象
  Object getCurrentObj();

}

MyIterator

package com.bdqn.iterator;

public interface MyIterator {
   //将游标指向第一个元素
    void  first();
  //将游标指向下一个元素
  void next();
   //判断存在下一个元素
  boolean hasNext();

  boolean iSFirst();
  boolean iSLast();
  //获取当前游标指向的对象
  Object getCurrentObj();

}

ConcreteMyaggregate

package com.bdqn.iterator;

public class Client {
 public static void main(String[] args) {
    ConcreteMyaggregate cma=new ConcreteMyaggregate();
    cma.addObject("aa");
    cma.addObject("bb");
    cma.addObject("cc");
    MyIterator iter=cma.createIterator();
    while (iter.hasNext()) {
    System.out.println(iter.getCurrentObj());
     iter.next();
    }

}
}

Iterator

时间: 2024-10-12 14:06:24

java23中设计模式之迭代器模式的相关文章

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

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

Java进阶篇设计模式之九----- 解释器模式和迭代器模式

前言 在上一篇中我们学习了行为型模式的责任链模式(Chain of Responsibility Pattern)和命令模式(Command Pattern).本篇则来学习下行为型模式的两个模式, 解释器模式(Interpreter Pattern)和迭代器模式(Iterator Pattern). 解释器模式 简介 解释器模式顾名思义,就是对某事物进行解释.给定一个语言之后,解释器模式可以定义出其文法的一种表示,并同时提供一个解释器.客户端可以使用这个解释器来解释这个语言中的句子. 解释器模式

行为型模式之迭代器模式

概述 在软件开发中,我们经常需要使用聚合对象来存储一系列数据.聚合对象拥有两个职责:一是存储数据:二是遍历数据.从依赖性来看,前者是聚合对象的基本职责:而后者既是可变化的,又是可分离的.因此,可以将遍历数据的行为从聚合对象中分离出来,封装在一个被称之为“迭代器”的对象中,由迭代器来提供遍历聚合对象内部数据的行为,这将简化聚合对象的设计,更符合“单一职责原则”的要求. 定义 迭代器模式(Iterator Pattern):提供一种方法来访问聚合对象,而不用暴露这个对象的内部表示,其别名为游标(Cu

JavaScript---设计模式之迭代器模式

迭代器模式提供一种方法顺序访问一个聚合对象中各个元素,而又不需要暴露该方法中的内部表示. jQuery中我们经常会用到一个each函数就是迭代器模式 作用 为遍历不同的集合结构提供一个统一的接口,从而支持同样的算法在不同的集合结构上进行操作 对于集合内部结果常常变化各异,我们不想暴露其内部结构的话,但又想让客户代码透明的访问其中的元素,这种情况下我们可以使用迭代器模式. 注意事项 一般的迭代,我们至少要有2个方法,hasNext和Next,这样才做到遍历所有对象. 遍历的同时更改迭代器所在的集合

行为模式之迭代器模式

迭代器模式(Iterator Pattern)是最常被使用的几个模式之一,被广泛地应用到Java的API中. 定义:提供一种方法访问一个容器对象中各个元素,而又不需暴露该对象的内部细节. 类图如下所示. 迭代器模式有以下4个角色. 抽象迭代器(Iterator)角色:负责定义访问和遍历元素的接口. 具体迭代器(Concrete Iterator)角色:实现Iterator接口,完成容器元素的遍历. 抽象聚集(Aggregate)角色:提供创建迭代器角色的接口. 具体聚集(Concrete Agg

25行为型模式之迭代器模式

概念 Iterator模式也叫迭代模式,是行为模式之一,它把对容器中包含的内部对象的访问委让给外部类,使用Iterator(遍历)按顺序进行遍历访问的设计模式. 在应用Iterator模式之前,首先应该明白Iterator模式用来解决什么问题.或者说,如果不使用Iterator模式,会存在什么问题. 1.由容器自己实现顺序遍历.直接在容器类里直接添加顺序遍历方法 2.让调用者自己实现遍历.直接暴露数据细节给外部. 以上方法1与方法2都可以实现对遍历,这样有问题呢? 1,容器类承担了太多功能:一方

设计模式——行为型模式之迭代器模式(八)

迭代器模式 迭代器模式(Iterator Pattern)是 Java 和 .Net 编程环境中非常常用的设计模式.这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示. 迭代器模式属于行为型模式. 介绍 意图:提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示. 主要解决:不同的方式来遍历整个整合对象. 何时使用:遍历一个聚合对象. 如何解决:把在元素之间游走的责任交给迭代器,而不是聚合对象. 关键代码:定义接口:hasNext, next. 应用实例:JA

设计模式5(命令模式,迭代器模式)

命令模式 本质是封闭请求,其关键是把请求封闭成对象,也就是命令对象,并定义了统一的执行操作的接口,这个命令可以存储.转发.记录.处理.撤消等.整个命令模式都是围绕这个对象进行. 命令模式       组合模式 宏命令的功能可以使用组合模式     备忘录模式   可以用来支持命令模式的撤销操作   模板方法     可与命令模式相互替换 迭代器Iterater 提供一种方法顺序访问聚合对象的各个元素,而不暴露该对象的内部表示 关键思想是把对聚合对象的访问从聚合对象中出来,放入单独的迭代器中. 迭

Iterator模式(C++迭代器模式)

基本上来说,Iterator模式并没有什么可多说得,在STL中见得实在太多了,一般用于遍历数据结构,其实现也相对简单. 代码如下: ////////////////////////////////////////////////////////////////////////// // author: Jeson Yang //date:2014.12.10 //file:main.cpp /////////////////////////////////////////////////////