#include <iostream>
#include <string>
using namespace std;
class Iterator;
class Aggregate
{
public:
virtual Iterator *createIterator()=0;
};
class Iterator
{
public:
virtual void first()=0;
virtual void next()=0;
virtual bool isDone()=0;
};
class ConcreteAggregate:public Iterator
{
public:
void first()
{}
void next()
{}
bool isDone()
{}
};
int main()
{
return 0;
}
GOOD:提供一种方法顺序访问一个聚敛对象的各个元素,而又不暴露该对象的
内部表示。
为遍历不同的聚集结构提供如开始,下一个,是否结束,当前一项等统一接口。