JAVA设计模式学习25——迭代器模式
从结构上可以看出,迭代器模式在客户与容器之间加入了迭代器角色。迭代器角色的加入,就可以很好的避免容器内部细节的暴露,而且也使得设计符号“单一职责原则”。
模拟代码如下:
抽象迭代器类:
package designPattern.iterator;public class Client { public static void main(String[] args){ Aggregate<String> ag = new ConcreteAggregate<String>(); ag.add("red"); ag.add("green"); ag.add("blue"); Iterator<String>it = ag.iterator(); while(it.hasNext()){ String str = (String)it.next(); System.out.println(str); } }}
上面的代码基本上模拟了迭代器模式的实现,当然java中已经完整的实现了所有集合的迭代。迭代器的作用就是把集合的管理和迭代算法分离,体现了单一职责原则,这也是这个模式的主要作用。
1 楼 hialaric 昨天 这个模式好像很简单,明白了