一、概述 迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。二、解决问题 迭代器模式就是提供一种遍历元素的统一接口,用一致的方法遍历聚合元素。试想,如果我们的聚合元素是用不同的方式实现的,有些用了数组,有些用了java的集合类,或者还有其他方式, ...
一、概述
迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。
二、解决问题
迭代器模式就是提供一种遍历元素的统一接口,用一致的方法遍历聚合元素。试想,如果我们的聚合元素是用不同的方式实现的,有些用了数组,有些用了java的集合类,或者还有其他方式,当客户端要遍历这些元素的时候就要使用多种遍历方式,而且还会暴露元素的内部结构。
三、应用实例
下面我用一个在页面展示一个学校院系结构的例子来讲解迭代器的用法,讲完例子后我们再来看看迭代器的结构类图。现在我们的需求是这样,要在一个页面中展示出学校的院系组成,它应该是树状结构的,一个学校有多个学院,一个学院有多个系。当然了,页面的具体代码就不写了,我们就来分析后台的实现方法。
前面学了面向接口编程,我们现在可以把学院抽象出来做成一个接口,设定里面方法有getName,addDepartment(增加一个系),一个可以遍历全部系的方法(暂且取名为CreateIterator,就是返回一个迭代器的方法)。看看接口的代码实现
package com.jet.someinterface;import java.util.Iterator;/** * Created by Administrator on 2016/11/14. */public interface College { public String getName(); /** * 增加一个系的方法 */ public void addDepartment(String name,String description); /** *返回一个迭代器用来遍历每一个系 */ public Iterator createIterator();}
原标题:设计模式(十一):迭代器模式
关键词:设计模式
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。