读书人

设计方式之 Iterator - 迭代模式

发布时间: 2012-09-20 09:36:50 作者: rapoo

设计模式之 Iterator - 迭代模式
Iterator模式也叫迭代模式,是由GoF提出的23种设计模式的一种。Iterator模式是行为模式之一,它把对容器中包含的内部对象的访问委让给外部类,使用Iterator(遍历)按顺序进行遍历访问的设计模式。本文介绍设计模式中的迭代(Iterator)模式的概念,用法,以及实际应用中怎么样使用迭代模式进行开发。
Java Collections Framework - Java集合框架List,Map,Set等全面介绍之概要篇



[该图出自Wikipedia]

应用我们的上面介绍的例子,我们需要定义以下几个接口与类:
public class public interface IBookList {
????public BookListIterator iterator();
}
BookListImpl implements IBookList {
????public BookListIterator iterator() {
????????return new BookListIteratorImpl(this);
????}
}
public interface BookListIterator {
????public boolean hasNext();
????public Book next();
}
public class BookListIteratorImpl implements BookListIterator {
????...(具体实现过程略)
}


对容器的遍历方法例:
IBookList list = ...;
BookListIterator it = list.iterator();
while(it.hasNext()){
????Book book = it.next();
????...
}



Iterator模式的优点1,实现功能分离,简化容器接口。让容器只实现本身的基本功能,把迭代功能委让给外部类实现,符合类的设计原则。
2,隐藏容器的实现细节。
3,为容器或其子容器提供了一个统一接口,一方面方便调用;另一方面使得调用者不必关注迭代器的实现细节。
4,可以为容器或其子容器实现不同的迭代方法或多个迭代方法。

读书人网 >软件开发

热点推荐