您的位置:首页 > 编程语言 > C#

懒羊学习《深入浅出设计模式》C#代码手札之迭代器模式

2007-12-17 10:22 387 查看
迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。
第一次知道这个名词是在学C的时候,迭[DIE]代就是替代的意思,但有连续不断的意思,说白点就是批量替代(这是我的理解)。书中用了两个实例,而这两个实例中都存在遍历这个方法。但现在是要把这两个合在一起,由于这两个使用的方式不同,一个是ArrayList另一个则是真正意义的数组,因此要把它们两个合在一起的确并非易事,因此我们必须创建一个共用的东西去读取这里面的每一个数,而且得让这两个都能对接上,我觉得在这个类中存在着装饰者模式,首先对原始目标的进行装饰,也就是重新包装一下,但包装完的以后通过新的方法可以访问到原始类中的方法,从而调出原始类的数据。
这是装饰者上的一个方法(与被装饰者的关联处)
public ConcreteIterator(ConcreteList list)
{
this.CL = list;
index = 0;

}
这是被装饰者中的一个方法,这是后加上去的,原始的是不需要的
public IIterator GetIterator()
{
return new ConcreteIterator(this);//迭代关键,每个子类都必须添加这个方法
}
这方面唯一让我觉得与装饰者有区别的是,这个的主动权在被装饰者上,也就是通过被装饰者去调用装饰者,也就是由被装饰者去启动装饰完的类。

下载地址
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: