web迭代器模式的动机是什么
今天小编给大家分享一下web迭代器模式的动机是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
意图
提供一种统一的方法访问聚合对象包含的各个元素,而不需要关心这些元素的具体管理方式。
动机
这里所谓的聚合对象,指是包含了其他元素的对象,它的一个重要的功能就是管理其他的对象。既然如此,它就必然包含添加元素、删除元素、取得元素的功能。一般来讲,添加对象和删除对象的功能相对稳定,轻易不会发生变化。取得元素经常会伴随着对元素的遍历和筛选,而这种遍历和筛选的方式经常会随着需求的变化而不同。这种不同可能是元素筛选方式的不同,或者遍历方向的不同,也有可能是独占遍历和多重遍历的不同。
为了适应这些多种多样的需求,一个常见的做法就是将元素的遍历功能,从聚合对象中分离出来,这就是所谓的迭代器模式。迭代器提供了访问和遍历聚合对象中元素的接口,同时管理当前的遍历位置。在这种模式下可以在不对聚合对象进行任何修改的前提下针对不同的需求提供不同的迭代器。
迭代器是用户访问聚合对象的手段。面向用户,需要提供访问数据的迭代接口。这个接口的功能包括,初始化迭代器,进行迭代,判断迭代是否结束,和取得当前元素的功能。面向聚合对象,迭代器需要利用聚合对象中的数据实现迭代接口。
使用迭代器模式的时候,首先需要定义一个共通的迭代器接口。用户在使用聚合类的时候,都按照这个共通的迭代器类接口进行编程。另一方面,聚合类的提供者,在实现聚合类的同时,实现一个迭代器类和聚合类一起提供给用户。这样一来,用户就可以利用迭代器接口以统一的方式来访问聚合类了。
以上就是"web迭代器模式的动机是什么"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。