下面来分析一个Demo:
这个就是"聚合对象中的元素"。
ClassA 中使用数组来存储“元素”。
ClassB 中使用List来存储“元素”。
测试代码:
现在我们看看用迭代器模式怎么做:
1.定义接口:
classA对应的迭代器。
测试代码:
然后有了迭代器,ClassA ,ClassB 中 GetAll这些方法可以去掉了。
在.net 2.0中完全可以不用这么麻烦,当然如果那么做就不能叫迭代器模式了。实现一个接口全部搞定。
ClassA,ClassB 直接实现接口 System.Collections.IEnumerable