集合数据的存储过程和遍历过程解耦
概念理解
-
定义:用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。
Iterator.png
Container:容器类,定义存储元素对象列表,实现add和remove接口。
Iterator:元素对象需要间接依赖于容器类对象里列表,同时实现hasNext和next接口。
应用和优缺点
-
解决问题:
迭代器模式就是分离了集合对象的遍历行为,抽象出一个迭代器类来负责,这样既可以做到不暴露集合的内部结构,又可让外部代码透明地访问集合内部的数据。 -
应用实例:
JAVA 中的 iterator -
优点:
1、易于扩展聚合数据的遍历方式,如正序遍历、倒叙遍历等
2、数据的存储过程和遍历过程剥离,方便彼此扩展 -
缺点:
优点即缺点,数据的存储过程和遍历过程剥离,会导致类的数量增加,增加系统复杂性。
参考:
迭代器模式
网友评论